sql >> Database >  >> NoSQL >> MongoDB

Mongoose-fout - geen 'toObject'-methode na upgrade

Ergens tussen de late versie 3.8.x en 4.0 de post init hook is veranderd, maar niet gedocumenteerd. Voorafgaand aan de wijziging this verwezen naar het huidige document, maar nu this is de gebeurteniszender die de hook-oproep heeft geactiveerd. De nieuwe manier om toegang te krijgen tot het huidige document is door een parameter toe te voegen aan de hook-functie, net als de pre save en remove haken.

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

Helaas lijken sinds deze wijziging alle niet-schema-eigenschappen die aan het document zijn toegevoegd verloren te gaan tussen de post init en pre save hooks, dus er is geen manier om dit nu op te lossen.

Ik heb een probleem geopend (#2952 ) op Github afgelopen vrijdag. Er zijn momenteel 387 openstaande problemen, dus ik weet niet zeker hoe snel dit zal worden opgelost. Ik zal een update plaatsen als ik iets hoor.




  1. pipelining vs transactie in redis

  2. mongodb groeperen op eerste teken

  3. Ongeldige ns bij verbinding met mongodb-server

  4. JasperReports Library en MongoDB