MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

mangusto:opções de middleware pré deleteOne não funcionam


Ah, não está claro nos documentos que 'this' se refere ao documento apenas em document #deleteOne.

Portanto, o uso correto do gancho 'deleteOne' é:
No modelo:
DocSchema.pre('deleteOne', { document: true }, function(next) {
  console.log(this)
  next()
})

mais tarde no código (no controlador, etc):
const doc = await DocModel.findOne({ name: 'myDoc' })
await doc.deleteOne()

Agora 'isto' refere-se ao documento 🎉