En algún lugar entre la última versión 3.8.x y 4.0, la publicación init
hook fue cambiado, pero no documentado. Antes del cambio this
hizo referencia al documento actual, pero ahora this
es el emisor de eventos que activó la llamada de gancho. La nueva forma de acceder al documento actual es agregando un parámetro a la función de enlace, al igual que pre save
y remove
ganchos.
schema.post('init', function(doc) {
doc._original = doc.toObject();
});
Desafortunadamente, desde este cambio, cualquier propiedad que no sea de esquema que se agregue al documento parece perderse entre la publicación init
y pre save
ganchos, por lo que no hay forma de arreglar esto ahora.
Abrí una incidencia (#2952 ) en Github el viernes pasado. Actualmente hay 387 problemas abiertos, por lo que no estoy seguro de qué tan rápido se resolverá. Publicaré una actualización si escucho algo.