如何更新特定mongoDB集合的所有文档

时间:2016-12-22 12:48:48

标签: java 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 :(得分:1)

使用重载更新方法,该方法将第4个参数作为multi,以允许更新多个文档。

  

public WriteResult update(DBObject q,                    DBObject o,                    布尔值upsert,                    boolean multi)

将multi传递为true。

使用重载方法隐式将multi设置为true。

  

public WriteResult updateMulti(DBObject q,                         DBObject o)