【发布时间】:2022-01-08 22:40:03
【问题描述】:
我正在使用 typegoose 和 type-graphql。
我有一个CommentModel,它有一个parentId 字段,用于存储其父评论的ObjectId。
我想要什么?
我想通过使用pre 中间件自动删除父母。意味着当我删除评论时,我希望它删除他们的 parentId 等于目标评论 id 的所有 cmets。
一个例子:
所以,当我删除评论 2 时,我希望评论 1 也会被删除。
comment: [
{
_id: 1,
parentId: 2
},
{
_id: 2,
parentId: null
}
]
但我做不到。
我做了什么?
这是我的中间件:
@pre(/remove|delete/i, async function () {
await CommentModel.deleteMany({ parentId: this._id })
})
export class Comment {
...
}
export const CommentModel = getModelForClass(Comment)
这就是我删除的方式
await CommentModel.findByIdAndDelete(ID_OF_COMMENT)
此操作将永远不会完成。总是给我看加载微调器。 你有什么建议?我做错了吗?还是有更好的方法?
【问题讨论】:
标签: javascript node.js mongodb mongoose mongoose-schema