Speichern vs. Einfügen :
In Ihren angegebenen Beispielen ist das Verhalten im Wesentlichen dasselbe.
save
verhält sich anders, wenn es mit einem "_id"-Parameter übergeben wird.
Zum Speichern, wenn das Dokument _id
enthält , wird die Abfrage der Sammlung nach _id
upsert Feld, wenn nicht, wird eingefügt.
Wenn ein Dokument mit dem angegebenen _id-Wert nicht existiert, führt die Methode save() eine Einfügung mit den angegebenen Feldern im Dokument durch.
Wenn ein Dokument mit dem angegebenen _id-Wert vorhanden ist, führt die Methode save() eine Aktualisierung durch und ersetzt alle Felder im vorhandenen Datensatz durch die Felder aus dem Dokument.
Speichern vs. Aktualisieren :
update
ändert ein vorhandenes Dokument, das mit Ihren Abfrageparametern übereinstimmt. Wenn es kein solches passendes Dokument gibt, dann upsert
kommt ins Bild.
upsert : false
:Es passiert nichts, wenn kein solches Dokument existiertupsert : true
:Neues Dokument wird mit Inhalten erstellt, die den Abfrageparametern und Aktualisierungsparametern entsprechen
save
:Erlaubt keine Abfrageparameter. wenn _id
existiert und es gibt ein passendes Dokument mit derselben _id
, es ersetzt es. Wenn keine _id angegeben ist/kein passendes Dokument vorhanden ist, wird das Dokument als neues Dokument eingefügt.