sql >> Databasteknik >  >> NoSQL >> MongoDB

mongoose hitta och uppdatera tar bort de andra fälten

Du kan skapa uppdateringsobjekt från din begäran först:

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);

Skicka den sedan till uppdateringen:

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


  1. Hur man kör råa mongodb-kommandon från pymongo

  2. Hur man återansluter redis-klienten efter omstart/skalning av redis-servern

  3. sortera efter stränglängd i Mongodb/pymongo

  4. skiftlägesokänslig hitta i mongodb för användarnamn i php