MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Mongoose не запазва вложен обект

Попаднах на тази разочароваща ситуация и бях малко изненадан от документираното решение от уебсайта на Mongoose.

така че това означава да запазите вложени свойства на масив/обект (Елемент във вашия случай), трябва да сте изрични при уточняването на промяната .markModified('Item')

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

Тъй като това е тип без схема, можете да промените стойността на всичко друго, което искате, но Mongoose губи способността автоматично да открива и запазва тези промени. За да „кажете“ на Mongoose, че стойността на смесен тип се е променила, извикайте метода .markModified(path) на документа, предавайки пътя към смесения тип, който току-що променихте.

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




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как кажете на Mongo да сортира колекция, преди да ограничи резултатите?

  2. Множество условия за присъединяване с помощта на оператора $lookup

  3. XFS срещу EXT4 – Сравняване на производителността на MongoDB на AWS EC2

  4. Redis срещу MongoDB:Какво трябва да знаете

  5. MongoDB - изключване с код:62