使用不同版本的mongodb java客户端时获取更新错误。 我运行了依赖项报告,发现只存在1个用于mongdb java驱动程序的jar。 请指导为什么会出现此错误,我正在尝试通过GORM更新域对象。
dependencies {
runtime "org.mongodb:mongo-java-driver:2.9.0"
}
plugins {
compile (":mongodb:1.3.0"){
excludes "mongo-java-driver";
}
}
Message: ACKNOWLEDGED
Line | Method
->> 646 | doInDB in
org.grails.datastore.mapping.mongo.engine.MongoEntityPersister$5
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 616 | updateEntry in
org.grails.datastore.mapping.mongo.engine.MongoEntityPersister
| 78 | updateEntry . . . . . . in ''
| 846 | run in
org.grails.datastore.mapping.engine.NativeEntryEntityPersister$2
| 33 | executePendingOperation in
org.grails.datastore.mapping.core.impl.PendingOperationExecution
| 364 | flushPendingOperations in org.grails.datastore.mapping.core.AbstractSession
| 343 | flushPendingUpdates . . in ''
| 263 | flush in ''
| 126 | flush . . . . . . . . . in org.grails.datastore.mapping.mongo.MongoSession
答案 0 :(得分:1)
WriteConcern.ACKNOWLEDGED仅适用于MongoDB Java驱动程序版本2.10及更高版本。您需要更新Mongo版本:
dependencies {
runtime "org.mongodb:mongo-java-driver:2.10.0"
}
或者您需要在此处删除您对mongo驱动程序的排除:
compile (":mongodb:1.3.0"){
excludes "mongo-java-driver";
}
并将其替换为:
compile ":mongodb:1.3.0"
如果你选择第二个选项,这将使用Mongo Java Driver的2.11版本,这是这个插件代码所期望的。使用早于2.11的驱动程序版本可能会导致这类问题。