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

标签 mongodb spring-data-mongodb

在我的用例中,我想使用 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);

但这并没有更新任何文档。

另外,我已经查阅了 mongo 文档,但没有任何有用的东西 https://docs.mongodb.com/manual/reference/method/db.collection.findAndModify/#comparisons-with-the-update-method

这是我正在使用的版本

  1. Mongodb - 3.6
  2. spring-data-mongodb - 1.5.5.RELEASE

最佳答案

findAndModify(...) 方法可以更新文档并在单个操作中返回旧的或新更新的文档。

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

https://docs.spring.io/spring-data/mongodb/docs/current/api/org/springframework/data/mongodb/core/MongoOperations.html#updateMulti-org.springframework.data.mongodb.core.query.Query-org.springframework.data.mongodb.core.query.UpdateDefinition-java.lang.Class-

访问该链接即可找到它。

enter image description here

关于mongodb - 从 spring mongo 更新 mongodb 中的多个文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62278118/

相关文章:

javascript - 如何在 Mongodb/Mongoose 中处理子文档的深度更新?

mongodb - 无法在来自市场的 github 操作中使用工作流环境变量(通过构建矩阵)

java - Spring Data MongoDB 身份验证错误

java - Spring Data MongoDB 如何从系统属性设置索引 ttl

Spring Data MongoDB 存储库查询多个字段

java - 使用@DBRef 查询带有循环引用的文档时的 Stackoverflow

MongoDB:如何通过嵌套文档中的 id 查找文档

node.js - 使用 Mongoskin 将多个文档插入 MongoDB

ios - 将 socket.io 集成到 REST API 中

spring - @DataMongoTest 正在创建一个空的 MongoTemplate