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

mongoose find and update премахва другите полета

Можете първо да създадете обект за актуализиране от вашата заявка:

let request = {
  "envId": "u2",
  "appPreference": "put2",
  "timeZone": "gmt",
  "summaryNotificationSchedule.timeOfTheDay": "32400",
};

let update = Object.keys(request).reduce((acc, cur) => {
  acc[`environments.$.${cur}`] = request[cur];
  return acc;
}, {})

console.log(update);

След това го предайте на актуализацията:

await this.model.findOneAndUpdate({ userEmail, 'environments.envId': envId }, { $set: update }, { new: true });


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB - трябва ли моят потребителски документ да съдържа списък с идентификатори на проекти?

  2. как да управлявате полето _id, когато използвате POCO с mongodb c# драйвер

  3. Mongoid 3 - достъп до резултатите от map_reduce

  4. Как да получа данни от Mongodb

  5. Mongo-connector поддържа ли добавяне на полета преди вмъкване в Elasticsearch?