Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
$setOnInsert
Der $setOnInsert Operator in Amazon DocumentDB wird verwendet, um den Wert eines Felds festzulegen, wenn ein Dokument eingefügt wird. Er hat jedoch keine Auswirkung, wenn das Dokument aktualisiert wird.
Parameter
-
field: Das Feld, das festgelegt werden soll. -
value: Der Wert, der dem Feld zugewiesen werden soll.
Beispiel (MongoDB Shell)
Das folgende Beispiel zeigt die Verwendung des $setOnInsert Operators in Amazon DocumentDB. Es erstellt ein neues Dokument, wenn das Dokument noch nicht existiert, hat aber keine Auswirkung, wenn das Dokument aktualisiert wird.
Erstellen Sie Beispieldokumente
db.users.insertOne({ _id: 1, name: "John Doe", age: 30 })
Abfragebeispiel 1 — Bestehendes Dokument aktualisieren
db.users.update( { _id: 1 }, { $set: { age: 31 }, $setOnInsert: { createdAt: new Date() } }, { upsert: true } )
Ausgabe 1
{ _id: 1, name: "John Doe", age: 31 }
Die Ausgabe zeigt, dass das Dokument aktualisiert wurde, das createdAt Feld jedoch NICHT hinzugefügt wurde, da das Dokument bereits vorhanden war. Der $setOnInsert Operator gilt nur beim Einfügen neuer Dokumente.
Abfragebeispiel 2 — Neues Dokument einfügen (upsert)
db.users.update( { _id: 2 }, { $set: { name: "Jane Smith", age: 25 }, $setOnInsert: { createdAt: new Date() } }, { upsert: true } )
Ausgabe 2
{ _id: 2, name: "Jane Smith", age: 25, createdAt: ISODate("2025-10-31T09:57:52.459Z") } }
Codebeispiele
Um ein Codebeispiel für die Verwendung des $setOnInsert Befehls anzuzeigen, wählen Sie die Registerkarte für die Sprache, die Sie verwenden möchten: