Java中的MongoDB文档更新:编码错误或驱动程序错误?

时间:2016-06-19 17:36:42

标签: java mongodb mongodb-query mongodb-java

我正在使用MongoDB Java Driver v3.2.2,我使用以下指令将新的String数组字段添加到现有文档中:

myMongoCollection.updateOne(new Document("id", id), Updates.set("arrayField", Arrays.asList(new Document("strField", strValue))));

它会产生以下异常:

  

org.bson.codecs.configuration.CodecConfigurationException:找不到   类java.util.Arrays $ ArrayList。

的编解码器

我是在编码错误还是与建议here (link)建议的驱动程序错误有关?

如果它与驱动程序错误相关,任何提示如何轻松获取最新尚未发布的版本(3.3)已经修复(即如何轻松创建JAR文件,知道GIT对我来说是全新的)?

非常感谢, 汤姆

1 个答案:

答案 0 :(得分:1)

mongodb-java-driver v3.2.2中,您可以使用Document代替Updates.set构建器。另请参阅Updating Documents

import static com.mongodb.client.model.Filters.eq;

myMongoCollection.updateOne(eq("id", id), new Document("$set", new Document ("arrayField", Arrays.asList(new Document("strField", strValue)))));

或者,如果修复程序已进入主分支,则可以从git:

构建jar
$ git clone https://github.com/mongodb/mongo-java-driver.git
$ cd mongo-java-driver
$ ./gradlew

生成的jar将位于build/libs目录中。