MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Was ist der Unterschied zwischen Speichern und Einfügen in Mongo DB?

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 existiert
  • upsert : 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.