MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Errore Mongoose - nessun metodo "toObject" dopo l'aggiornamento

Da qualche parte tra l'ultima versione 3.8.xe 4.0 il post init hook è stato modificato, ma non documentato. Prima della modifica this ha fatto riferimento al documento corrente, ma ora this è l'emettitore di eventi che ha attivato la chiamata hook. Il nuovo modo per accedere al documento corrente è aggiungere un parametro alla funzione hook, proprio come il pre save e remove ganci.

schema.post('init', function(doc) {
    doc._original = doc.toObject();
});

Sfortunatamente, da questa modifica, tutte le proprietà non di schema aggiunte al documento sembrano essere perse tra il post init e pre save hooks, quindi non c'è modo di risolvere questo problema in questo momento.

Ho aperto un problema (#2952 ) su Github venerdì scorso. Al momento ci sono 387 problemi aperti, quindi non sono sicuro di quanto velocemente questo verrà risolto. Pubblicherò un aggiornamento se sento qualcosa.