独立的 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 添加到您的类路径