mongodb - GORM 独立 : no updateOne() with maps

标签 mongodb grails groovy grails-orm

在我的 good'ol grails (3.1.x) 应用程序中,我有类似的行

  ModuleState.collection.updateOne( 
    [ compositeKey:ck ], 
    [ $set:[ compositeKey:ck, dateUpdated:new Date(), online:true ] ], 
    [ upsert:true ] )

在我使用 GORM standalone 的无 grails 应用程序中:
compile 'org.grails:grails-datastore-gorm-mongodb:6.0.4.RELEASE'

此行引发异常

groovy.lang.MissingMethodException: No signature of method: com.mongodb.MongoCollectionImpl.updateOne() is applicable for argument types: (java.util.LinkedHashMap, java.util.LinkedHashMap, java.util.LinkedHashMap) values: [[compositeKey:111], [$set:[...]], ...] Possible solutions: updateOne(org.bson.conversions.Bson, org.bson.conversions.Bson), updateOne(org.bson.conversions.Bson, org.bson.conversions.Bson, com.mongodb.client.model.UpdateOptions)



因此,不会注入(inject)新的 map 消费方法。

有什么办法可以修复它并使 GORM 再次变得更好?

最佳答案

您需要添加org.grails:grails-datastore-gorm-mongodb-ext:6.0.4.RELEASE到你的类路径

关于mongodb - GORM 独立 : no updateOne() with maps,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41120665/

相关文章:

ruby-on-rails - rails +MongoDB : Find ObjectId bigger than given value

grails - 在hasMany关系中删除我的域的对象

java - 无法在Eclipse上运行Grails应用

java - 玩!框架 ENUM 和 Groovy 问题

MongoDB:获取 GridFS 中可用的存储桶列表?

javascript - Angular 谷歌地图/NodeJS : Display Markers from Database

MongoDB - $geoNear 在同一文档中有多个匹配项

grails - 如何在自己的Grails脚本中使用非交互模式?

java - 使用 app.context 时 Grails 重定向到错误的地址?

具有父类的常规不可变对象(immutable对象)