Em algum lugar entre a versão final 3.8.xe 4.0 o post
init
hook foi alterado, mas não documentado. Antes da alteração this
referenciou o documento atual, mas agora this
é o emissor do evento que acionou a chamada de gancho. A nova maneira de acessar o documento atual é adicionando um parâmetro à função de gancho, assim como o pré save
e remove
ganchos. schema.post('init', function(doc) {
doc._original = doc.toObject();
});
Infelizmente, desde essa alteração, quaisquer propriedades não-esquema adicionadas ao documento parecem ser perdidas entre o post
init
e pré save
hooks, então não há como consertar isso agora. Abri um problema (#2952 ) no Github na última sexta-feira. Atualmente, existem 387 problemas em aberto, então não tenho certeza de quão rápido isso será resolvido. Vou postar uma atualização se eu ouvir alguma coisa.