MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Mangusta nie zapisuje zagnieżdżonego obiektu

Natknąłem się na tę frustrującą sytuację i byłem trochę zaskoczony udokumentowanym rozwiązaniem ze strony Mongoose.

więc oznacza to zapisanie zagnieżdżonych właściwości tablicy/obiektu (w twoim przypadku elementu), musisz wyraźnie określić zmianę .markModified('Item')

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

Ponieważ jest to typ bez schematu, możesz zmienić wartość na dowolną inną, ale Mongoose traci możliwość automatycznego wykrywania i zapisywania tych zmian. Aby „powiedzieć” Mongoose, że zmieniła się wartość typu mieszanego, wywołaj metodę .markModified(path) dokumentu przekazującą ścieżkę do właśnie zmienionego typu mieszanego.

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




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongoose:jakie są różnice między Model.create i Collection.insert

  2. MongoDB nie może uruchomić serwera:domyślny silnik pamięci masowej „wiredTiger” nie jest dostępny w tej wersji mongod

  3. Instalacja/konfiguracja Mongos w Elastic Beanstalk

  4. Silnik wykrywania i monitorowania serwerów jest przestarzały

  5. Mongoose:ścieżka błędu walidacji jest wymagana