Irgendwo zwischen der späten Version 3.8.x und 4.0 der Post init
Hook wurde geändert, aber nicht dokumentiert. Vor der Änderung this
das aktuelle Dokument referenziert, aber jetzt this
ist der Emitter des Ereignisses, der den Hook-Aufruf ausgelöst hat. Die neue Möglichkeit, auf das aktuelle Dokument zuzugreifen, besteht darin, der Hook-Funktion einen Parameter hinzuzufügen, genau wie beim Vorab-save
und remove
Haken.
schema.post('init', function(doc) {
doc._original = doc.toObject();
});
Leider scheinen seit dieser Änderung alle Nicht-Schema-Eigenschaften, die dem Dokument hinzugefügt werden, zwischen dem Post init
verloren zu gehen und vorher save
Haken, daher gibt es derzeit keine Möglichkeit, dies zu beheben.
Ich habe ein Problem geöffnet (#2952 ). ) auf Github letzten Freitag. Es gibt derzeit 387 offene Probleme, daher bin ich mir nicht sicher, wie schnell dies gelöst wird. Ich werde ein Update posten, wenn ich etwas höre.