Finalmente encontrei a solução para isso. Middleware não estava disparando porque você deve usar
remove()
, save()
, etc em instâncias de modelo, não no próprio modelo. Exemplo:
Customer.remove({...});
não vai funcionar. Customer.findOne({...}, function(err, customer) {
customer.remove();
});
funcionará e fará o que estiver em
Customer.post('remove')
.