MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

mongoose :les options middleware pre deleteOne ne fonctionnent pas

Oh, il n'est pas clair d'après la documentation que "ceci" fait référence au document uniquement dans document #deleteOne.

Ainsi, l'utilisation correcte du crochet 'deleteOne' est :
Dans le modèle :

DocSchema.pre('deleteOne', { document: true }, function(next) {
  console.log(this)
  next()
})

plus tard dans le code (dans le contrôleur, etc.) :

const doc = await DocModel.findOne({ name: 'myDoc' })
await doc.deleteOne()

Maintenant, "ceci" fait référence au document 🎉