sql >> Databasteknik >  >> NoSQL >> MongoDB

Mongoose upsert skapar inte standardschemaegenskap

Vad som händer är att ingen av Mongooses validerings-, middleware- eller standardvärden används när man anropar någon av metoderna "update", som findByIdAndUpdate . De anropas endast av anrop till save eller create .

Anledningen till detta är att "uppdaterings"-anropen effektivt överförs till den inbyggda drivrutinen, med Mongoose som endast tillhandahåller typcasting av fälten baserat på schemadefinitionen.

Mongoose 4.0-uppdatering

Mongoose stöder nu inställning av standardinställningar när ett nytt dokument skapas under en update , findOneAndUpdate , eller findByIdAndUpdate uppröra. Ställ in setDefaultsOnInsert alternativet till true för att aktivera detta. Detta använder $setOnInsert operatör för att skapa standardinställningarna på infogning.

var queryOptions = {
    upsert: true,
    setDefaultsOnInsert: true
};
Company.findByIdAndUpdate(id, company, queryOptions).exec( ...


  1. mongoose - ObjectId som refererar till ett underdokument

  2. indexoutofboundsexception i Mongodb java

  3. Tastypie returdata från DELETE-förfrågningar?

  4. Kan vi vara med i Redis?