【发布时间】:2018-11-09 03:39:57
【问题描述】:
我无法区分mongoose documentaion 中的findOneAndDelete() 和findOneAndRemove()。
Query.prototype.findOneAndDelete()
此函数与 Model.findOneAndRemove() 稍有不同之处在于 findOneAndRemove() 成为 MongoDB findAndModify() 命令,如 反对 findOneAndDelete() 命令。对于大多数猫鼬用例, 这种区别纯粹是迂腐的。 您应该使用 findOneAndDelete() 除非你有充分的理由不这样做。
【问题讨论】:
-
“你应该使用 findOneAndDelete() 除非你有充分的理由不” 理由是什么?
-
findOneAndDelete()执行 MongoDB findOneAndDelete() 命令,findOneAndRemove()执行 MongoDB findAndModify() 命令 -
如果 "findOneAndRemove() 最终从集合中删除文档,为什么会执行 MongoDB findAndModify()"?
-
他们为什么说“除非你有充分的理由不使用,否则你应该使用 findOneAndDelete()”
-
它不是“最终从集合中删除文档”,它使用带有
remove: true选项的findAndModify命令从集合中删除文档马上。