【发布时间】:2016-08-25 19:37:54
【问题描述】:
我最近安装了 Java MongoDB Driver 3.1.1 版本,想知道findOneAndUpdate 和findOneAndReplace 有什么区别?
我应该在什么情况下使用它们?
【问题讨论】:
标签: java mongodb mongodb-java
我最近安装了 Java MongoDB Driver 3.1.1 版本,想知道findOneAndUpdate 和findOneAndReplace 有什么区别?
我应该在什么情况下使用它们?
【问题讨论】:
标签: java mongodb mongodb-java
findOneAndUpdate 搜索文档并仅更新给定更新文档中的条目。找到的文档中的其他条目将保留。
findOneAndReplace 搜索文档,删除该文档中的所有内容,并设置给定替换文档的条目。
例如:
你有一个文件{"name":"James", "age":"21"}
如果你使用findOneAndUpdate函数和更新文档{"age":"22"},你会得到文档{"name":"James", "age":"22"}
如果你使用findOneAndReplace函数和替换文档{"age":"22"},你会得到文档{"age":"22"}(名称已被删除)
请参阅:findOneAndUpdate Documentation 和 findOneAndReplace Documentation
【讨论】:
findOneAndReplace() 与 PUT 匹配,而 findOneAndUpdate() 与 PATCH 匹配。