Java mongodb4.9大批量更新相同filtername不同value的值
时间: 2023-06-12 10:02:37 浏览: 115
MongoDB 批量插入及更新
你可以使用MongoDB的`updateMany()`方法来进行大批量更新,指定相同的`filter`条件但不同的`update`操作即可。
下面是一个Java代码示例:
```java
MongoCollection<Document> collection = database.getCollection("your_collection_name");
Bson filter = Filters.eq("filter_name", "filter_value"); // 相同的 filter 条件
List<Document> updateOperations = new ArrayList<>(); // 用于存储不同的 update 操作
updateOperations.add(new Document("$set", new Document("field1", "value1")));
updateOperations.add(new Document("$set", new Document("field2", "value2")));
updateOperations.add(new Document("$set", new Document("field3", "value3")));
UpdateResult updateResult = collection.updateMany(filter, updateOperations);
System.out.println(updateResult.getModifiedCount() + " documents updated.");
```
在上面的示例中,我们首先定义了一个相同的`filter`条件,然后定义了一个`updateOperations`列表,其中包含了三个不同的`$set`操作,用于更新三个不同的字段。最后,我们使用`updateMany()`方法对相应的文档进行批量更新,并输出更新的文档数量。
需要注意的是,`updateMany()`方法返回的是`UpdateResult`对象,可以通过该对象的`getModifiedCount()`方法获取更新的文档数量。
阅读全文