Det, der sker, er, at ingen af Mongooses validerings-, middleware- eller standardværdier bruges, når der kaldes nogen af "update"-familien af metoder, såsom findByIdAndUpdate . De påkaldes kun af opkald til save eller create .
Årsagen til dette er, at "opdaterings"-kaldene reelt er pass-throughs til den oprindelige driver, hvor Mongoose kun leverer typecasting af felterne baseret på skemadefinitionen.
Mongoose 4.0-opdatering
Mongoose understøtter nu indstilling af standarder, når et nyt dokument oprettes under en update , findOneAndUpdate , eller findByIdAndUpdate oprøre. Indstil setDefaultsOnInsert mulighed for at true for at aktivere dette. Dette bruger $setOnInsert operatør for at oprette standardindstillingerne på indsættelse.
var queryOptions = {
upsert: true,
setDefaultsOnInsert: true
};
Company.findByIdAndUpdate(id, company, queryOptions).exec( ...