2017-02-24 18 views
0

私はいくつかの名前の値のペアの複数のドキュメントからなるmongoコレクションを持っています。複数のmongoドキュメントを一度に1つのコレクションから更新する

myCollection:

{"_id" : 1,"name" : "name1","value" : "val1"} 

{"_id" : 2,"name" : "name2","value" : "val2"} 

{"_id" : 3,"name" : "name3","value" : "val3"} 

。 。 。 。 。 .100レコード

これらのレコードの一部の値を更新したいと思います。 私はそれから値を読み取り、HashMapに保存してExcelをアップロードしています。今コレクションでこれらの値を更新するにはどうすればよいですか?

+0

例を投稿できますか? –

+0

は – ps007

+0

を更新しました。どのような状態を更新したいのですか? –

答えて

0

以下のように試すことができます。バルク操作を使用してバッチ処理し、サーバーに送信します。

Map<String, String> namepair = new HashMap<>(); 
BulkWriteOperation bulkop = collection.initializeOrderedBulkOperation(); 
for(Map.Entry<String, String> name: namepair.entrySet()) { 
    bulkop.find(new BasicDBObject("name", name.getKey())) 
     .updateOne(new BasicDBObject("$set", new BasicDBObject("name",name.getValue()))); 
} 
BulkWriteResult result=bulkop.execute(); 
+0

initializeOrderedBulkOperationはまだmongo 3.2.2でサポートされていますか? – ps007

+0

する必要があります。何かエラーが出ますか? – Veeram

関連する問題