sql >> Database >  >> NoSQL >> MongoDB

Mongoose MODEL-update() versus opslaan()

Allereerst hoeft u foundUser.save() niet aan te roepen wanneer u de methode foundUser.update() gebruikt.

En alle bovenstaande methoden zijn bijna even efficiënt omdat er twee aanroepen naar de database worden gedaan. Het komt dus neer op uw persoonlijke voorkeur.

En nog een methode met slechts één aanroep naar de database kan op deze manier worden uitgevoerd:-

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

Bij deze methode, als een gebruiker met het opgegeven e-mailadres en wachtwoord bestaat, wordt die gebruiker bijgewerkt en wordt het bijbehorende bijgewerkte document geretourneerd in een foundUser variabel. U hoeft dus geen extra controle op het wachtwoord uit te voeren:If findOneAndUpdate() een document retourneert, betekent dit dat wachtwoord en e-mailadres overeenkomen. U hoeft alleen te controleren op null of undefined op het geretourneerde document voor geen overeenkomst.




  1. Hoe de prestaties van de update-bewerking in Mongo verbeteren?

  2. cryptische mongodb-fout LEFT_SUBFIELD ondersteunt alleen Object:statistieken niet:6

  3. Waarom gebruikt mangoest schema als het voordeel van mongodb zou moeten zijn dat het schemaloos is?

  4. MongoDB bewaken met Prometheus &ClusterControl