如果我已经有 Mongoose 文档的实例,如何删除它?

问题描述 投票:0回答:2

我不确定我这样做是否天真,但我怀疑有一种更有效、更聪明的方法来处理这种情况。

假设我有一个文档实例,然后需要在进行一些逻辑检查后从 MongoDB 中删除它:

    const post = await Post.findById(req.params.postId);
    // Check whether the logged user owns this post
    if (post._userId.equals(req.user._id)) {
      await Post.findByIdAndRemove(req.params.postId);

有没有办法避免两次检索同一个文档?

node.js mongodb mongoose
2个回答
2
投票

所有型号都有

remove
,因此只需拨打
await post.remove()

https://mongoosejs.com/docs/4.x/docs/api.html#model_Model-remove


2024 年 3 月 7 日编辑:更新了链接以反映提问时的文档。


0
投票

参考以下帖子的解决方案之一。

remove
现已弃用。 请使用
deleteOne()
deleteMany()
fineOneAndDelete()
来代替。 如何使用 Node.js Mongoose 删除文档?

© www.soinside.com 2019 - 2024. All rights reserved.