2016-06-19 7 views
0

私はMongoDBのJava Driver v3.2.2を使用していると私は、既存のドキュメントに新しい文字列配列フィールドを追加するには、次の命令を使用します。JavaでのMongoDBドキュメントの更新:コーディングエラーまたはドライバのバグ?

org.bson.codecs:

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

それは、次の例外が作成されます.configuration.CodecConfigurationException:クラスjava.util.Arrays $ ArrayListのコーデック が見つかりません。

コーディングエラーが発生しましたか、またはドライバのバグに関連していますか?here (link)

ドライバのバグに関連している場合は、最新の未リリースのバージョン(3.3)がどのように修正されたかを簡単に知ることができます(つまり、JARファイルを簡単に作成し、 GITは全く新しいものです)? mongodb-java-driver v3.2.2で

多くのおかげで、 トム

答えて

1

、あなたの代わりにUpdates.setビルダーのDocumentを使用することができます。修正プログラムは、masterブランチに入った場合も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ディレクトリにあるであろう。

関連する問題