Jeg stødte på denne frustrerende situation og blev lidt overrasket over den dokumenterede løsning fra Mongooses hjemmeside.
så hvad dette betyder er at gemme indlejrede matrix/objekt egenskaber (element i dit tilfælde), du skal være eksplicit i at specificere ændringen .markModified('Item')
var objectToSave = new ModelToSave({
_id : req.params.id,
Item : customObject
});
objectToSave.markModified('Item');
objectToSave.save();
Da det er en skemaløs type, kan du ændre værdien til noget andet, du kan lide, men Mongoose mister evnen til automatisk at registrere og gemme disse ændringer. For at "fortælle" Mongoose, at værdien af en blandet type er ændret, skal du kalde .markModified(path)-metoden for dokumentet, der videregiver stien til den blandede type, du lige har ændret.
-- http://mongoosejs.com/docs/schematypes.html#mixed