GORM独立:没有带地图的updateOne()

时间:2016-12-13 12:02:28

标签: mongodb grails groovy gorm

在我的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:没有方法签名:com.mongodb.MongoCollectionImpl.updateOne()适用于参数类型:(java.util.LinkedHashMap,java.util.LinkedHashMap,java.util.LinkedHashMap)值: [[compositeKey:111],[$ set:[...]],...]   可能的解决方案:updateOne(org.bson.conversions.Bson,org.bson.conversions.Bson),updateOne(org.bson.conversions.Bson,org.bson.conversions.Bson,com.mongodb.client.model.UpdateOptions)

因此,不会注入新的地图消耗方法。

有任何方法可以解决这个问题并使GORM再次变得更好吗?

1 个答案:

答案 0 :(得分:1)

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