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

Mongoose изберете полета, за да се върнете от findOneAndUpdate

От ръководството, options аргументът се нуждае от "fields" въведете го, тъй като има други подробности като "upsert" и "new" където това важи. Във вашия случай висъщо искате "new" опция:

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

Като алтернатива можете да използвате .select()

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

Отбелязвайки, че без "new": true върнатият документ е в състояниетопреди модификацията на актуализацията беше обработена. Понякога имате предвид това, но през повечето време наистина искате модифицирания документ.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Репликация на MongoDB в хибридна облачна среда

  2. Какво да знаете, когато започнете да работите с MongoDB в производството - десет съвета

  3. Пролетни данни MongoDb:MappingMongoConverter премахва _class

  4. MongoDB Java Inserting Throws org.bson.codecs.configuration.CodecConfigurationException:Не мога да намеря кодек за клас io.github.ilkgunel.mongodb.Pojo

  5. Mongoose множество връзки