Ergens tussen de late versie 3.8.x en 4.0 de post init
hook is veranderd, maar niet gedocumenteerd. Voorafgaand aan de wijziging this
verwezen naar het huidige document, maar nu this
is de gebeurteniszender die de hook-oproep heeft geactiveerd. De nieuwe manier om toegang te krijgen tot het huidige document is door een parameter toe te voegen aan de hook-functie, net als de pre save
en remove
haken.
schema.post('init', function(doc) {
doc._original = doc.toObject();
});
Helaas lijken sinds deze wijziging alle niet-schema-eigenschappen die aan het document zijn toegevoegd verloren te gaan tussen de post init
en pre save
hooks, dus er is geen manier om dit nu op te lossen.
Ik heb een probleem geopend (#2952 ) op Github afgelopen vrijdag. Er zijn momenteel 387 openstaande problemen, dus ik weet niet zeker hoe snel dit zal worden opgelost. Ik zal een update plaatsen als ik iets hoor.