Mi sono imbattuto in questa situazione frustrante e sono rimasto un po' sorpreso dalla soluzione documentata dal sito Web di Mongoose.
quindi ciò significa salvare le proprietà di array/oggetto nidificate (elemento nel tuo caso), devi essere esplicito nello specificare la modifica .markModified('Item')
var objectToSave = new ModelToSave({
_id : req.params.id,
Item : customObject
});
objectToSave.markModified('Item');
objectToSave.save();
Poiché è un tipo senza schema, puoi modificare il valore in qualsiasi altra cosa ti piace, ma Mongoose perde la capacità di rilevare e salvare automaticamente tali modifiche. Per "dire" Mongoose che il valore di un tipo misto è cambiato, chiama il metodo .markModified(percorso) del documento passando il percorso al tipo misto che hai appena modificato.
-- http://mongoosejs.com/docs/schematypes.html#mixed