我想获取 MongoTemplate 的 findAndModify return 值作为修改值
I want to get the findAndModify return value of MongoTemplate as a modified value
我目前在 Spring 引导中使用 mongoTemplate,如下所示:
public MyEntity update(MyDto dto) {
...
MyEntity result = mongoTemplate.findAndModify(
query, update, MyEntity.class);
return result;
}
query
放入找到要修改的MyEntity
的Criteria
,update
放入要改变的内容。但是,返回值是更新前的数据。怎样才能马上得到修改后的值?
在 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/
我目前在 Spring 引导中使用 mongoTemplate,如下所示:
public MyEntity update(MyDto dto) {
...
MyEntity result = mongoTemplate.findAndModify(
query, update, MyEntity.class);
return result;
}
query
放入找到要修改的MyEntity
的Criteria
,update
放入要改变的内容。但是,返回值是更新前的数据。怎样才能马上得到修改后的值?
在 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/