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

Mongoose MODEL update() срещу save()

Първо, не е необходимо да извиквате foundUser.save(), когато използвате метода foundUser.update().

И всички горепосочени методи са почти еднакво ефективни, тъй като има две извиквания към базата данни. Така че, всичко се свежда до вашите лични предпочитания.

И още един метод само с едно извикване на базата данни може да бъде изпълнен по този начин:-

let foundUser = await userModel.findOneAndUpdate(
 { email: recievedEmail, password: hashedPassword },
 { $set: { lastLogin: new Date() }, $push: { myEvents: authEvent } }
);

При този метод, ако съществува потребител с даден имейл и парола, този потребител ще бъде актуализиран и съответният актуализиран документ ще бъде върнат в foundUser променлива. Така че не е нужно да извършвате допълнителна проверка на паролата:Ако findOneAndUpdate() връща документ, това означава съвпадение на парола и имейл. Трябва само да проверите за null или undefined във върнатия документ за липса на съвпадение.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Търсене и замяна в Mongodb?

  2. Има ли сравнение на NoSQL решения (кое е по-добро в определени ситуации?)

  3. XML към BSON с помощта на C#

  4. Премахване на данни от mongo документ с PHP

  5. MongoDB Aggregation:Преброяване на отделни полета