Finalmente encontré la solución a esto. El middleware no se activaba porque debe usar remove()
, save()
, etc. en las instancias del modelo, no en el modelo en sí.
Ejemplo:
Customer.remove({...});
no funcionará.
Customer.findOne({...}, function(err, customer) {
customer.remove();
});
funcionará y hará lo que esté en Customer.post('remove')
.