Et sted mellem den sene version 3.8.x og 4.0 posten init
krog blev skiftet, men ikke dokumenteret. Før ændringen this
refererede til det aktuelle dokument, men nu this
er hændelsessenderen, der udløste hook call. Den nye måde at få adgang til det aktuelle dokument på er ved at tilføje en parameter til hook-funktionen, ligesom pre save
og remove
kroge.
schema.post('init', function(doc) {
doc._original = doc.toObject();
});
Siden denne ændring ser det desværre ud til, at alle ikke-skemaegenskaber, der tilføjes til dokumentet, er gået tabt mellem posten init
og før save
kroge, så der er ingen måde at løse dette på lige nu.
Jeg åbnede et problem (#2952 ) på Github i fredags. Der er i øjeblikket 387 åbne problemer, så jeg er ikke sikker på, hvor hurtigt dette vil blive løst. Jeg sender en opdatering, hvis jeg hører noget.