Dieses Kapitel führt ein, wie man mit der mongo shell Dokumentdaten in MongoDB einfügt.

Einfügen eines einzelnen Dokuments

Die Methode db.collection.insertOne() wird verwendet, um ein einzelnes Dokument in eine Sammlung einzufügen.

Wenn das Dokument das _id-Feld nicht spezifiziert, generiert MongoDB automatisch eine eindeutige ObjectId für das _id-Feld.

Hinweis: ObjectId ist ein integrierter eindeutiger ID-Generator in MongoDB, der zur ID-Generierung verwendet wird.

Beispiel: Füge ein Dokument in die Bestands-Sammlung ein:

db.inventory.insertOne(
   { item: "Leinwand", qty: 100, tags: ["Baumwolle"], size: { h: 28, w: 35.5, uom: "cm" } }
)

Ergebnis:

{
	"acknowledged" : true,
	"insertedId" : ObjectId("609bf11dfc901345cafc438a")
}

Wenn das Einfügen erfolgreich ist, wird der Primärschlüssel zurückgegeben. Das insertedId-Feld ist die automatisch generierte eindeutige ID von MongoDB. Wenn die Bestands-Sammlung nicht existiert, wird sie automatisch erstellt.

Abfrage der eingefügten Dokumentdaten:

> db.inventory.find( { item: "Leinwand" } )
{ "_id" : ObjectId("609bf11dfc901345cafc438a"), "item" : "Leinwand", "qty" : 100, "tags" : [ "Baumwolle" ], "size" : { "h" : 28, "w" : 35.5, "uom" : "cm" } }

Mit der find-Methode wird die Abfragebedingung eingegeben, um die Dokumentdaten zu finden, in denen item "Leinwand" ist.

Einfügen mehrerer Dokumente

Die Methode db.collection.insertMany() kann mehrere Dokumente in eine Sammlung einfügen.

Beispiel: Füge drei Dokumentdaten ein, indem ein Array an die insertMany-Methode übergeben wird:

db.inventory.insertMany([
   { item: "Journal", qty: 25, tags: ["leer", "rot"], size: { h: 14, w: 21, uom: "cm" } },
   { item: "Matte", qty: 85, tags: ["grau"], size: { h: 27.9, w: 35.5, uom: "cm" } },
   { item: "Mousepad", qty: 25, tags: ["Gel", "blau"], size: { h: 19, w: 22.85, uom: "cm" } }
])

Rückgabewert:

{
	"acknowledged" : true,
	"insertedIds" : [
		ObjectId("609bf30ffc901345cafc438b"),
		ObjectId("609bf30ffc901345cafc438c"),
		ObjectId("609bf30ffc901345cafc438d")
	]
}

Gibt die IDs der neu eingefügten drei Dokumente zurück.

Einfügeverhalten

Sammlungserstellung

In MongoDB ist es nicht erforderlich, eine Sammlung im Voraus zu erstellen. Wenn Daten zum ersten Mal eingefügt werden und die Sammlung nicht existiert, wird sie automatisch erstellt.

_id-Feld

In MongoDB hat jedes Dokument in einer Sammlung ein eindeutiges _id-Feld als Primärschlüssel. Wenn das eingefügte Dokument das _id-Feld auslässt, generiert der MongoDB-Treiber automatisch ein ObjectId für das _id-Feld.

Atomarität

Alle Schreiboperationen in MongoDB sind atomare Operationen auf einzelner Dokumentebene.