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.