MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Tentativo di eliminare un riferimento a un oggetto in MongoDB con mongoose su NodeJS

Come si chiama effettivamente deleteOne() per utente? Lo chiami sul modello utente o su un'istanza di esso?

Questo sembra rilevante secondo la documentazione per il parametro delle opzioni pre hook:

[options.document] «Boolean» Se name è un hook sia per il middleware del documento che per quello della query, impostare su true per essere eseguito sul middleware del documento. Ad esempio, imposta options.document su true per applicare questo hook a Document#deleteOne() anziché a Query#deleteOne().

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

Forniscono inoltre un esempio:

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

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