javascript - _id 属性在模式中间件中未定义
问题描述
我正在删除一个用户并尝试级联删除用户的帖子、每个帖子的评论以及每个已删除评论的回复。
我不断为每个模式的中间件中的 ._id 属性获取“未定义”,因此我无法将它们从数据库中删除。
如何访问 id 属性以删除每个帖子的每个评论?
多谢你们
用户模型中间件
userSchema.pre('remove', async function (next) {
const user = this
await Post.deleteMany({ userId: user._id }) // WORKS!
next()
})
发布模型中间件 - 不触发
postSchema.pre('deleteMany', async function (next) {
const post = this
await Comment.deleteMany({ postId: post._id }) // id = undefined
next()
})
解决方案
推荐阅读
- python - 如何使用 Odoo python 方法在移动设备中显示/显示弹出聊天窗口?
- python - 错误:pandas.core.indexing.IndexingError:索引器过多
- reactjs - 使用 webpack react 延迟加载内部导入
- laravel - Pusher - 共享网络工作者变量范围
- javascript - 在所有 wordpress 帖子中重定向 url
- azure-functions - Azure 函数从 VS Code 部署失败
- promise - 在 moch 测试中的事件之后执行之前不等待异步测试完成
- nestjs - 如何在 Nestjs/TypeORM 应用程序中测试自定义存储库
- amazon-web-services - 如何通过在 tera 数据中使用 nos_write 将表分区为多个文件到 s3 存储?
- javascript - 如何在javascript中将内存流数据转换为blob?