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

Essayer de supprimer une référence d'objet dans MongoDB avec mongoose sur NodeJS

Comment appelez-vous réellement le deleteOne() pour l'utilisateur ? L'appelez-vous sur le modèle utilisateur ou sur une instance de celui-ci ?

Cela semble pertinent selon la documentation pour le paramètre des options de pré-hook :

[options.document] « Booléen » Si le nom est un crochet pour le middleware de document et de requête, définissez sur true pour s'exécuter sur le middleware de document. Par exemple, définissez options.document sur true pour appliquer ce hook à Document#deleteOne() plutôt qu'à Query#deleteOne().

https://mongoosejs.com/docs/api.html#schema_Schema-pre

Ils fournissent en outre un exemple :

toySchema.pre('deleteOne', function() {
  // Runs when you call `Toy.deleteOne()`
});

toySchema.pre('deleteOne', { document: true }, function() {
  // Runs when you call `doc.deleteOne()`
});