当前位置: 首页 > 知识库问答 >
问题:

从spring mongo更新mongodb中的多个文档

毋炳
2023-03-14

在我的用例中,我希望使用spring-data-mongo一次更新多个文档,即与查询匹配的文档。

这是我一直在尝试的,

Criteria filterCriteria = new Criteria().andOperator(Criteria.where("bac").is("def"));
        Update update = new Update();
        update.set("status", status);
        Query query = new Query();
        query.addCriteria(filterCriteria);
        mongoOperations.findAndModify(query, update, MyClass.class);
  1. MongoDB-3.6
  2. spring-data-mongoDB-1.5.5.release

共有1个答案

岳凯康
2023-03-14

findandmodify(...)方法可以在一次操作中更新文档并返回旧的或新更新的文档。

若要更新与给定查询匹配的所有文档,请使用updateMulti(...)

https://docs.spring.io/spring-data/mongodb/docs/current/api/org/springframework/data/mongodb/core/mongoperations.html#updateMulti-org.springframework.data.mongodb.core.query.query-org.springframework.data.mongodb.core.query.updateDefinition-java.lang.class-

访问链接,在那里你会找到它。

 类似资料:
  • 本文向大家介绍MongoDB中一次查询更新多个文档,包括了MongoDB中一次查询更新多个文档的使用技巧和注意事项,需要的朋友参考一下 要通过单个查询更新许多文档,请在MongoDB中使用 bulkWrite()。让我们创建一个包含文档的集合- 在find()方法的帮助下显示集合中的所有文档- 这将产生以下输出- 以下是使用MongoDB中的一个查询来更新许多文档的查询- 在find()方法的帮助

  • 我在MongoDB中使用Java驱动程序。我有一个集合中的文档id列表。我想在每个文档中更新一个字段,该文档的“\u id”等于列表中的一个文档id。在下面的示例中,我尝试了以下方法: 我的目的是用\u id=123、\u id=456和\u id=789更新文档,将其“field”属性设置为59。 我这样做对吗?

  • 我想使用mongoose从多个文档更新多个子文档。 我目前的代码是: 模式的一部分是: 但是这段代码只更新id arr中的最后一个元素。

  • 主要内容:update() 方法,save() 方法在 MongoDB 中,可以使用 update() 和 save() 方法来更新集合中的文档。其中 update() 方法可以更新现有文档中的值,而 save() 方法则可以使用传入文档来替换已有文档。 update() 方法 update() 方法用于更新现有文档中的值,其语法格式如下: db.collection_name.update(     <query>,     <update>,

  • 例如,我可以运行这个mongo查询: 我们如何用代码和spring MongoTemplate来实现这一点呢?例如,下面是UPDATE一个值的代码: Update#set方法似乎只接受一个(key、value),而不接受多值或值列表。

  • 在我的MongoDB中,我有文档,如下所示。如何更新内部文档结构中的文档:<code>〔{1},〔{2}〕,〔{3}〕、〔{4}〕</code>。 例如:子子文档中的子文档具有和以及 和