在我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再次變得更好?
我們爲什麼要使用地圖?我的意思是$ set操作符需要字段值對嗎?你是否想要一次通過所有關鍵值?您可以輕鬆地將鍵值包裝爲bson對象。 – Veeram