2016-12-22 7 views
1

以下は私のは、特定のMongoDBのコレクションのすべてのドキュメントを更新する方法

 int min=10; 
     int max=150; 
     String Col_name="indexValueO"; 
     System.out.println("B4 Time: "+new Date()); 
     BasicDBObject searchQuery =new BasicDBObject(Col_name, new BasicDBObject("$gte", min).append("$lte", max)); 
     BasicDBObject updateFields = new BasicDBObject(); 
     updateFields.append("color", "rgba(128,18,18,0.6)"); 
     BasicDBObject setQuery = new BasicDBObject(); 
     setQuery.append("$set", updateFields); 
     coll.update(searchQuery, setQuery); 
     LOGGER.info("Updated "); 
     System.out.println("After Time: "+new Date()); 

ここでは、コード1つの文書のみでも多くのフィールドが更新された状態

+0

使用coll.updateMulti(SEARCHQUERY、はsetQuery)。 cf http://api.mongodb.com/java/current/com/mongodb/DBCollection.html – felix

答えて

1

使用などの第四引数を取るオーバーロードされた更新方法マッチします複数のドキュメントを更新できるマルチ。

公共WriteResult更新(DBObjectをQ、 DBObjectをO、 ブールUPSERT、 ブールマルチ)

パスマルチ真。

または

暗黙的にマルチをtrueに設定するオーバーロードされたメソッドを使用します。

公共WriteResult updateMulti(DBObjectをqを、 DBObjectを0)

関連する問題