sql >> Databáze >  >> NoSQL >> MongoDB

Chyba Mongoose – žádná metoda 'toObject' po upgradu

Někde mezi pozdní verzí 3.8.xa 4.0 post init hák byl změněn, ale není zdokumentován. Před změnou this odkazoval na aktuální dokument, ale nyní this je emitor události, který spustil volání zavěšení. Novým způsobem přístupu k aktuálnímu dokumentu je přidání parametru do funkce zavěšení, stejně jako před save a remove háčky.

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

Bohužel od této změny se zdá, že všechny vlastnosti, které nejsou schématem přidané do dokumentu, se mezi příspěvkem init ztratí a předem save háčky, takže teď to nejde nijak opravit.

Otevřel jsem problém (#2952 ) na Github minulý pátek. Aktuálně existuje 387 otevřených problémů, takže si nejsem jistý, jak rychle se to vyřeší. Pokud něco uslyším, zveřejním aktualizaci.




  1. mongodb vytáhne všechny prvky z pole

  2. MongoDB $toDate

  3. Jak mohu zploštit dvojitá pole v mongoDB?

  4. Můj kód api načítá prázdné pole dat z mongodb, zatímco kód funguje dobře na hřišti mongodb