我最近安装了Java MongoDB Driver 3.1.1版本,我想知道findOneAndUpdate
和findOneAndReplace
之间的区别是什么?
我应该在什么情况下使用每一个?
答案 0 :(得分:12)
findOneAndUpdate
搜索文档并仅更新给定更新文档中的任何内容。发现的文件中的其他内容将保留。
findOneAndReplace
搜索文档,删除此文档中的所有内容,并设置给定替换文档的托管。
例如:
您有一份文件{"name":"James", "age":"21"}
如果您将findOneAndUpdate
功能与更新文档{"age":"22"}
一起使用,您将获得文档{"name":"James", "age":"22"}
如果您将findOneAndReplace
功能与替换文档{"age":"22"}
一起使用,您将获得文档{"age":"22"}
(该名称已被删除)
请参阅:findOneAndUpdate Documentation和findOneAndReplace Documentation