Java MongoDB 驱动程序:如何更新集合中的所有文档?
Java MongoDB driver: How to update all Documents in Collection?
以下代码允许我们更新 customerDetail
集合中的所有文档,其中 customer_user_id
是 1
:
db.getCollection("customerDetail")
.updateMany(Filters.eq("customer_user_id", 1),
Updates.combine(
Updates.set("birth_year", "birth_year"),
Updates.set("country", "country")
));
但我需要更新集合中的 ALL 文档,所以我需要找到一种方法来询问 Java Driver do not apply any filters to update query ,但正如我所看到的 updateMany
方法 Filter
是一个强制属性,我不能只传递 null
.
那么如何更新所有文档?
我经常使用的一个选项
mongoCollectionObject
.updateMany(new Document(), //
new Document("$set"
new Document("birth_year", "birth_year")
.append("country", "country")
));
第一个是条件 - 因为它是空的 - 相当于 {}
- 表示所有文档
第二个是所有匹配文档要设置的文档
以下代码允许我们更新 customerDetail
集合中的所有文档,其中 customer_user_id
是 1
:
db.getCollection("customerDetail")
.updateMany(Filters.eq("customer_user_id", 1),
Updates.combine(
Updates.set("birth_year", "birth_year"),
Updates.set("country", "country")
));
但我需要更新集合中的 ALL 文档,所以我需要找到一种方法来询问 Java Driver do not apply any filters to update query ,但正如我所看到的 updateMany
方法 Filter
是一个强制属性,我不能只传递 null
.
那么如何更新所有文档?
我经常使用的一个选项
mongoCollectionObject
.updateMany(new Document(), //
new Document("$set"
new Document("birth_year", "birth_year")
.append("country", "country")
));
第一个是条件 - 因为它是空的 - 相当于 {}
- 表示所有文档
第二个是所有匹配文档要设置的文档