sql >> Databáze >  >> NoSQL >> MongoDB

Mongoose neukládá vnořený objekt

Narazil jsem na tuto frustrující situaci a byl jsem trochu překvapen zdokumentovaným řešením z webu Mongoose.

takže to znamená uložit vlastnosti vnořeného pole/objektu (ve vašem případě Item), musíte být explicitní při specifikaci změny .markModified('Item')

var objectToSave = new ModelToSave({
  _id : req.params.id, 
  Item : customObject
});
objectToSave.markModified('Item');
objectToSave.save();

Vzhledem k tomu, že se jedná o typ bez schématu, můžete hodnotu změnit na cokoli jiného, ​​​​ale Mongoose ztrácí schopnost tyto změny automaticky detekovat a ukládat. Abyste Mongoose „řekli“, že se hodnota smíšeného typu změnila, zavolejte metodu .markModified(path) dokumentu, která předá cestu ke smíšenému typu, který jste právě změnili.

-- http://mongoosejs.com/docs/schematypes.html#mixed




  1. Jak určit únik paměti Redis?

  2. Jaké jsou hlavní rozdíly mezi Redis Pub/Sub a Redis Stream?

  3. Úvod do datových struktur Redis:Seřazené sady

  4. 6 osvědčených postupů pro nasazení MongoDB na Amazon EC2