独立的 GORM:没有带地图的 updateOne()
GORM standalone: no updateOne() with maps
在我的 good'ol grails (3.1.x) 应用程序中,我有类似
的行
ModuleState.collection.updateOne(
[ compositeKey:ck ],
[ $set:[ compositeKey:ck, dateUpdated:new Date(), online:true ] ],
[ upsert:true ] )
在我的无 grails 应用程序中 GORM standalone
:
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)
因此,未注入新的地图消耗方法。
有什么方法可以修复它并让 GORM 再次变得更好吗?
您需要将 org.grails:grails-datastore-gorm-mongodb-ext:6.0.4.RELEASE
添加到您的类路径
在我的 good'ol grails (3.1.x) 应用程序中,我有类似
的行 ModuleState.collection.updateOne(
[ compositeKey:ck ],
[ $set:[ compositeKey:ck, dateUpdated:new Date(), online:true ] ],
[ upsert:true ] )
在我的无 grails 应用程序中 GORM standalone
:
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)
因此,未注入新的地图消耗方法。
有什么方法可以修复它并让 GORM 再次变得更好吗?
您需要将 org.grails:grails-datastore-gorm-mongodb-ext:6.0.4.RELEASE
添加到您的类路径