2015-08-04 11 views

Antwort

28

Nun gibt es die entsprechende Dokumentation sowohl für .update() und .findAndModify() zu gelangen, welche die Wurzel Methode .findOneAndUpdate() hier ist.

Aber in den wichtigsten Unterschieden gibt es:

  • update(): eine atomare Aktualisierungsoperation durchzuführen gemeint gegen „ein oder mehr“ durch abgestimmte Dokumente ist Abfragebedingung in einer Sammlung. Es gibt die Anzahl der geänderten Dokumente in der Antwort zurück.

  • findOneAndUpdate(): den Zweck hat, sowohl eine Aktualisierung statment Verarbeitung auf einem „singulären“ Dokument sowie den Inhalt dieses „singulären“ Dokument abruft. Der zurückgegebene Status hängt vom Wert der Option "new" ab, die an die Operation übergeben wird. Wobei true das "modifizierte" Dokument zurückgegeben wird. Wobei false das "Original" -Dokument vor jeder Änderung zurückgegeben wird. Die letztere Form ist die Standardoption.

Kurz gesagt. Man soll in "Masse" ändern und sich nicht mit dem Dokumentinhalt im Ergebnis sorgen. Und der andere soll ein einzelnes Dokument modifizieren und den Dokumentinhalt im Ergebnis zurückgeben.

Das ist der Unterschied.

+2

Die Frage wäre konsequenter wie folgt: Was ist der Unterschied zwischen mongoDB 'findOneAndUpdate' und 'updateOne', oder/und Was ist der Unterschied zwischen mongoDB 'update' und 'findAndModify'? Performance? –

3

Die .findOneAndUpdate Methode gibt einen mongodb .findAndModify Update-Befehl und gibt das gefundene Dokument (falls vorhanden) an die Callback oder geben Sie das geänderte Dokument eher als das Original, wenn die new Option true ist und die .update die Abfrage als update() Operation ausführen .

Verwandte Themen