mangouste différence de findOneAndUpdate et de mise à jour
Quelle est la différence de findOneAndUpdate et de mise à jour?
À la fois accepter les critères de requête et de la doc de mise à jour.
Vous devez vous connecter pour publier un commentaire.
Bien il y a la documentation correspondante pour voir pour les deux
.mise à jour()
et.findAndModify()
qui est à la racine de la méthode de.findOneAndUpdate()
ici.Mais les principales différences sont là:
mise à jour(): Est destiné à effectuer une mise à jour atomique opération contre "un ou plusieurs" documents appariés, de par leur condition de requête dans une collection. Elle renvoie le nombre de documents modifiés en réponse.
findOneAndUpdate(): A pour but à la fois de la transformation d'une mise à jour de tresorerie sur un "singulier" du document, ainsi que la récupération du contenu de ce "singulier" du document. L'état renvoyé dépend de la valeur de l'option "new", tel qu'adopté à l'opération. Où
true
la "modifié" le document est renvoyé. Oùfalse
le document "original" est retourné avant toute modification. La dernière forme est l'option par défaut.En bref. L'un est destiné à modifier en "vrac" et ne pas s'inquiéter avec le contenu du document en conséquence. Et l'autre est destiné à modifier un singulier document et le retourner le document contenu dans le résultat.
C'est la différence.
La
.findOneAndUpdate
méthode émet un mongodb.findAndModify
commande de mise à jour et renvoie les documents trouvés (le cas échéant) à la fonction de rappel ou de retourner le document modifié plutôt que de l'original si lanew
option esttrue
et la.mise à jour
exécuter la requête dans unupdate()
opération.Remarque il y a une option
returnNewDocument
dans le findOneAndXXX méthodes et c'est la valeur par défaut esttrue
. Si vous utilisez le node.js pilote, les options est appeléreturnOriginal
.