Gdzieś pomiędzy późną wersją 3.8.xi 4.0 post init
hak został zmieniony, ale nie udokumentowany. Przed zmianą this
odwołuje się do bieżącego dokumentu, ale teraz this
jest emiterem zdarzeń, który wyzwolił wywołanie haka. Nowy sposób dostępu do bieżącego dokumentu polega na dodaniu parametru do funkcji przechwytującej, podobnie jak przed save
i remove
haczyki.
schema.post('init', function(doc) {
doc._original = doc.toObject();
});
Niestety, od czasu tej zmiany wszelkie właściwości niebędące schematami, które zostały dodane do dokumentu, wydają się być utracone między postem init
i przed save
haki, więc nie ma teraz możliwości naprawienia tego.
Otworzyłem problem (#2952 ) na Github w zeszły piątek. Obecnie jest 387 otwartych problemów, więc nie jestem pewien, jak szybko ten problem zostanie rozwiązany. Opublikuję aktualizację, jeśli coś usłyszę.