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

Mongoose upsert nie tworzy domyślnej właściwości schematu

To, co się dzieje, to to, że żadna z walidacji, oprogramowania pośredniczącego ani wartości domyślnych Mongoose nie jest używana podczas wywoływania żadnej z rodziny metod „aktualizacji”, takich jak findByIdAndUpdate . Są wywoływane tylko przez wywołania save lub create .

Powodem tego jest to, że wywołania aktualizacji są skutecznie przekazywane do sterownika natywnego, a Mongoose zapewnia jedynie rzutowanie typów pól na podstawie definicji schematu.

Aktualizacja Mongoose 4.0

Mongoose obsługuje teraz ustawianie wartości domyślnych, gdy nowy dokument jest tworzony podczas update , findOneAndUpdate lub findByIdAndUpdate upierdliwy. Ustaw setDefaultsOnInsert opcja true aby to umożliwić. Używa $setOnInsert operatora, aby utworzyć wartości domyślne przy wstawianiu.

var queryOptions = {
    upsert: true,
    setDefaultsOnInsert: true
};
Company.findByIdAndUpdate(id, company, queryOptions).exec( ...


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. PyMongo i Multiprocessing:ServerSelectionTimeoutError

  2. Jak mogę zrobić elemMatch wewnątrz tablicy za pomocą mongodb?

  3. $rozwiń pustą tablicę

  4. npm install -g mongodb nie instalujesz mongodb globalnie w systemie OSX 10.8.4?

  5. Emoji nie zostały poprawnie zapisane w mongodb