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

Mongoose wybierz pola do powrotu z findOneAndUpdate

Z instrukcji, options argument wymaga "fields" klucz w nim, ponieważ są tam inne szczegóły, takie jak "upsert" i "new" tam, gdzie ma to zastosowanie. W Twoim przypadku również chcesz "new" opcja:

User.findOneAndUpdate(
  { "_id": "132324" },
  { "$set": { "hair_color": "yellow" } },
  {
   "fields": { "first_name":1, "last_name": 1 },
   "new": true 
  }
).exec(...)

Alternatywnie możesz użyć .select()

User.select({ "first_name": 1, "last_name": 1 }).findOneAndUpdate(
  { "_id": "132324" },
  { "$set": { "hair_color": "yellow" } },
  { "new": true }
).exec(...)

Zauważając, że bez "new": true zwrócony dokument ma stan przed modyfikacja aktualizacji została przetworzona. Czasami to właśnie masz na myśli, ale w większości przypadków naprawdę chcesz zmodyfikowany dokument.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Konwersja dokumentów BSON do JSON w Javie

  2. 5 sposobów na wstawianie dokumentów do MongoDB

  3. najlepsze praktyki łączenia django + PyMongo?

  4. Jak mogę hostować własny serwer Parse w Heroku przy użyciu MongoDB?

  5. Jak mogę załadować dane z kolekcji mongodb do DataFrame pand?