带有upsert的mongoTemplate findAndmodify何时返回null?

时间:2019-11-13 15:18:46

标签: java mongodb spring-data-mongodb

MongoTemplate 文档findAndModify with FindAndModifyOptions说它可以返回Mongoose

  

返回:已更新的已转换对象,如果未找到,则为null。

我的问题是何时返回null?我在FindAndModifyOptions中使用了参数null,所以这意味着mongo如果找不到则将插入一条新记录。

为什么它返回upsert(true)?如果发生故障(例如某些验证约束或mongodb索引约束),则应该有一个异常,而不是null。

MongoDb documentation

  

upsert-布尔值。可选的。与更新字段结合使用。

     

为true时,可以找到findAndModify():

     

如果没有文档与查询匹配,则创建一个新文档。有关更多详细信息,请参见upsert行为。

     

更新与查询匹配的单个文档。

这是我的Java代码

null

0 个答案:

没有答案