findOneAndUpdate和findOneAndReplace有什么区别?

2022-09-03 00:30:30

我最近安装了Java MongoDB驱动程序3.1.1版本,我想知道和之间有什么区别?findOneAndUpdatefindOneAndReplace

在什么情况下我应该使用每个?


答案 1

搜索文档并仅更新给定更新文档中的条目。找到的文档中的其他条目将保留。findOneAndUpdate

将搜索文档,删除此文档中的所有内容,并设置给定替换文档的条目。findOneAndReplace

例如:您有一份文档{"name":"James", "age":"21"}

如果将该函数与更新文档一起使用,您将获得文档findOneAndUpdate{"age":"22"}{"name":"James", "age":"22"}

如果将该函数与替换文档一起使用,您将获得该文档(名称已被删除)findOneAndReplace{"age":"22"}{"age":"22"}

请参见: findOneAndUpdate DocumentationfindOneAndReplace Documentation


答案 2