这里的文档没有提供很多解释,说明为什么有两个不同的操作来完成同一件事,所以我想知道它们之间的区别是什么。为什么我可以选择使用其中一个而不是另一个?
ljsrvy3e1#
此函数与模型略有不同。findOneAndRemove()中的findOneAndRemove()成为MongoDB findAndModify()命令,而不是findOneAndDelete()命令。对于大多数 Mongoose 用例来说,这种区别纯粹是学究式的。你应该使用findOneAndDelete(),除非你有很好的理由不这样做。官方网站 www.example.com
5sxhfpxr2#
它们之间没有区别!^_^让我们看看代码,在findByIdAndDelete()处,有一个注解:
findByIdAndDelete()
// Note: same signatures as findByIdAndRemove
findByIdAndRemove()相同:
findByIdAndRemove()
// Note: same signatures as findByIdAndDelete
h5qlskok3#
MongoDB正在更新它的方法,就像任何其他编码语言或程序一样。如图所示:https://mongoosejs.com/docs/deprecations.htmlremove()和findOneAndRemove()已被弃用,取而代之的是deleteOne()和deleteMany()。我猜findByIdAndRemove()还没有被弃用,但它可能也会被弃用,因为它将只删除方法。
093gszye4#
他们的评论没有区别。两个函数都返回找到的文档(如果有的话)。
// Finds a matching document, removes it, passing the found document (if any) to the callback.
l3zydbqr5#
我得到了findByIdAndRemove返回已删除文档的原因& findByIdAndDelete不返回。如果我们想要删除的文档,那么我们可以使用findByIdAndRemove,否则可以使用findByIdAndDelete。推荐:-如果不想得到删除的文档,那么必须使用findByIdAndDelete,因为它的快速原因不返回文档。
wz1wpwve6#
此函数与Model.findOneAndRemove()略有不同,findOneAndRemove()变成MongoDBfindAndModify()命令,而不是findOneAndDelete()命令。对于大多数 Mongoose 用例来说,这种区别纯粹是学究式的。你应该使用findOneAndDelete(),除非你有很好的理由不这样做。阅读更多:docs
Model.findOneAndRemove()
findOneAndRemove()
findAndModify()
findOneAndDelete()
8zzbczxx7#
通过文档的_id字段发出MongoDB findOneAndDelete()命令。换句话说,findByIdAndDelete(id)是findOneAndDelete({ _id:id })。通过文档的_id字段发出mongodb findAndModify remove命令。findByIdAndRemove(id,...)等效于findOneAndRemove({ _id:id },…
7条答案
按热度按时间ljsrvy3e1#
此函数与模型略有不同。findOneAndRemove()中的findOneAndRemove()成为MongoDB findAndModify()命令,而不是findOneAndDelete()命令。对于大多数 Mongoose 用例来说,这种区别纯粹是学究式的。你应该使用findOneAndDelete(),除非你有很好的理由不这样做。
官方网站 www.example.com
5sxhfpxr2#
它们之间没有区别!^_^
让我们看看代码,在
findByIdAndDelete()
处,有一个注解:findByIdAndRemove()
相同:h5qlskok3#
MongoDB正在更新它的方法,就像任何其他编码语言或程序一样。如图所示:https://mongoosejs.com/docs/deprecations.html
remove()和findOneAndRemove()已被弃用,取而代之的是deleteOne()和deleteMany()。
我猜findByIdAndRemove()还没有被弃用,但它可能也会被弃用,因为它将只删除方法。
093gszye4#
他们的评论没有区别。
两个函数都返回找到的文档(如果有的话)。
l3zydbqr5#
我得到了findByIdAndRemove返回已删除文档的原因& findByIdAndDelete不返回。如果我们想要删除的文档,那么我们可以使用findByIdAndRemove,否则可以使用findByIdAndDelete。
推荐:-如果不想得到删除的文档,那么必须使用findByIdAndDelete,因为它的快速原因不返回文档。
wz1wpwve6#
此函数与
Model.findOneAndRemove()
略有不同,findOneAndRemove()
变成MongoDBfindAndModify()
命令,而不是findOneAndDelete()
命令。对于大多数 Mongoose 用例来说,这种区别纯粹是学究式的。你应该使用findOneAndDelete()
,除非你有很好的理由不这样做。阅读更多:docs
8zzbczxx7#
通过文档的_id字段发出MongoDB findOneAndDelete()命令。换句话说,findByIdAndDelete(id)是findOneAndDelete({ _id:id })。
通过文档的_id字段发出mongodb findAndModify remove命令。findByIdAndRemove(id,...)等效于findOneAndRemove({ _id:id },…