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

Mongoose fejl - ingen 'toObject' metode efter opgradering

Et sted mellem den sene version 3.8.x og 4.0 posten init krog blev skiftet, men ikke dokumenteret. Før ændringen this refererede til det aktuelle dokument, men nu this er hændelsessenderen, der udløste hook call. Den nye måde at få adgang til det aktuelle dokument på er ved at tilføje en parameter til hook-funktionen, ligesom pre save og remove kroge.

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

Siden denne ændring ser det desværre ud til, at alle ikke-skemaegenskaber, der tilføjes til dokumentet, er gået tabt mellem posten init og før save kroge, så der er ingen måde at løse dette på lige nu.

Jeg åbnede et problem (#2952 ) på Github i fredags. Der er i øjeblikket 387 åbne problemer, så jeg er ikke sikker på, hvor hurtigt dette vil blive løst. Jeg sender en opdatering, hvis jeg hører noget.




  1. Fejl ved indlæsning af YAML-konfigurationsfiler i Rails

  2. Undtagelse for socket timeout i Mongo

  3. Robo 3T-fejl:Netværket er ikke tilgængeligt

  4. MongoDB - Fejl:Dokument skal have et _id før lagring