MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Erro de mangusto - nenhum método 'toObject' após a atualização


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.