【问题标题】:I want to get the findAndModify return value of MongoTemplate as a modified value我想获取 MongoTemplate 的 findAndModify 返回值作为修改值
【发布时间】:2021-12-23 22:24:34
【问题描述】:

我目前在 Spring boot 中使用 mongoTemplate,如下所示:

public MyEntity update(MyDto dto) {
    ...
    MyEntity result = mongoTemplate.findAndModify(
        query, update, MyEntity.class);

    return result;
}

query 放入找到要修改的MyEntityCriteriaupdate 放入要更改的内容。但是,返回值是更新前的数据。如何立即获得修改后的值?

【问题讨论】:

    标签: spring-boot mongotemplate findandmodify


    【解决方案1】:

    在 mongoTemplate 上使用 findAndModify 时,如果要返回更新的记录而不是原始记录,则必须显式配置它。

    这可以通过以下方式完成:

    FindAndModifyOptions findAndModifyOptions = FindAndModifyOptions.options().returnNew(true);
    MyEntity result = mongoTemplate.findAndModify(query, update, findAndModifyOptions, MyEntity.class);
    
    return result;
    

    https://docs.mongodb.com/manual/reference/method/db.collection.findAndModify/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-04
      • 2012-07-07
      • 1970-01-01
      • 1970-01-01
      • 2012-06-26
      • 2016-08-03
      • 2019-10-13
      相关资源
      最近更新 更多