Как всъщност извиквате deleteOne()
за потребител? Извиквате ли го на потребителския модел или на негов екземпляр?
Това изглежда уместно според документацията за параметъра за опции за предварително закачане:
[options.document] «Boolean» Ако името е кука и за мидълуер на документ, и на заявка, задайте true, за да се изпълнява на мидълуер на документ. Например, задайте options.document на true, за да приложите тази кука към Document#deleteOne(), а не Query#deleteOne().
https://mongoosejs.com/docs/api.html#schema_Schema-pre
Освен това те предоставят пример:
toySchema.pre('deleteOne', function() {
// Runs when you call `Toy.deleteOne()`
});
toySchema.pre('deleteOne', { document: true }, function() {
// Runs when you call `doc.deleteOne()`
});