_id свойство не определено в промежуточном ПО схемы

#javascript #mongoose

Вопрос:

Я удаляю пользователя и пытаюсь каскадно удалить сообщения пользователя, комментарии к каждому сообщению и ответы на каждый удаленный комментарий.

Я продолжаю получать «неопределенные» свойства ._id в промежуточном программном обеспечении каждой схемы, поэтому я не могу удалить их из базы данных.

Как получить доступ к свойству id, чтобы удалить каждый комментарий для каждого поста?

Спасибо, ребята

ПРОМЕЖУТОЧНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ДЛЯ ПОЛЬЗОВАТЕЛЬСКИХ МОДЕЛЕЙ

 userSchema.pre('remove', async function (next) {
  const user = this

  await Post.deleteMany({ userId: user._id }) // WORKS!

  next()
})
 

ПРОМЕЖУТОЧНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ POST — МОДЕЛИ- НЕ ЗАПУСКАЕТ

 postSchema.pre('deleteMany', async function (next) {
  const post = this

  await Comment.deleteMany({ postId: post._id }) // id = undefined

  next()
})
 

Комментарии:

1. await Post.remove({ userId: user._id }) .

2. Я добавил ваш код и обновил приведенный выше код, но это не приведет к тому, что мое промежуточное программное обеспечение postSchema удалит все комментарии для каждого поста. Однако это приведет к удалению записей. Почему он не удалит все комментарии?