MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Mongoose non salva l'oggetto nidificato

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