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

MODEL Mongoose update() vs save()

Po pierwsze, nie musisz wywoływać metody foundUser.save(), gdy używasz metody foundUser.update().

Wszystkie powyższe metody są prawie równie wydajne, ponieważ do bazy danych są wykonywane dwa wywołania. Tak więc sprowadza się to do twoich osobistych preferencji.

I jeszcze jedna metoda z tylko jednym wywołaniem bazy danych może być wykonana w ten sposób:-

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

W tej metodzie, jeśli istnieje użytkownik z podanym adresem e-mail i hasłem, zostanie on zaktualizowany, a odpowiedni zaktualizowany dokument zostanie zwrócony w foundUser zmienny. Nie musisz więc przeprowadzać dodatkowego sprawdzania hasła:Jeśli findOneAndUpdate() zwraca dokument, oznacza to, że hasło i adres e-mail pasują. Musisz tylko sprawdzić, czy w zwróconym dokumencie nie ma wartości null lub undefined.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Funkcja usuwania nie działa z angularJS

  2. Jak wykonać mapowanie podczas indeksowania w elasticsearch

  3. MongoDB $max Operator potoku agregacji

  4. Sortowanie MongoDB jest bardzo powolne, nawet na polach indeksowanych

  5. MongoDB/NoSQL:przechowywanie historii zmian dokumentów