2016-12-13 43 views
1

在我good'ol的Grails(3.1.X)應用程序,我有一個像GORM獨立:沒有updateOne()與地圖

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:方法的無簽名:com.mongodb.MongoCollectionImpl.updateOne()是適用於參數類型:([java.util.LinkedHashMap,java.util.LinkedHashMap,java.util.LinkedHashMap)values:[[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再次變得更好?

+0

我們爲什麼要使用地圖?我的意思是$ set操作符需要字段值對嗎?你是否想要一次通過所有關鍵值?您可以輕鬆地將鍵值包裝爲bson對象。 – Veeram

回答

1

您需要將org.grails:grails-datastore-gorm-mongodb-ext:6.0.4.RELEASE添加到您的班級路徑