In MongoDB die db.collection.insertOne()
Methode fügt ein einzelnes Dokument in eine Sammlung ein.
Die collection
part ist der Name der Sammlung, in die das Dokument eingefügt werden soll.
Beispiel
Hier ist ein Beispiel für das Einfügen eines Dokuments in eine Sammlung namens pets
:
db.pets.insertOne( {
name: "Scratch",
type: "Cat"
} )
Ergebnis:
{ "acknowledged" : true, "insertedId" : ObjectId("5fe2d15637b49e0faf1af214") }
Die db.collection.insertOne()
Die Methode gibt ein Dokument zurück, das Folgendes enthält:
- Ein boolescher
acknowledged
alstrue
ob die Operation mit Write Concern oderfalse
ausgeführt wurde wenn Schreibschutz deaktiviert war. - Ein Feld
insertedId
mit der_id
Wert des eingefügten Dokuments.
Wenn wir jetzt db.collection.find()
verwenden Um die Sammlung anzusehen, sehen wir das neu hinzugefügte Dokument.
db.pets.find().pretty()
Ergebnis:
{ "_id" : ObjectId("5fe2d15637b49e0faf1af214"), "name" : "Scratch", "type" : "Cat" }
Ich habe auch pretty()
verwendet um das Dokument so zu formatieren, dass es leichter zu lesen ist.
In diesem Fall ist unser Dokument das einzige in der Sammlung, und daher wurde nur ein Dokument zurückgegeben.
Wenn die Sammlung jedoch groß ist, können wir die ID (die im Rücksendedokument angegeben ist, als wir die Einfügung vorgenommen haben) verwenden, um das Ergebnis auf genau dieses Dokument einzugrenzen.
db.pets.find({_id: ObjectId("5fe2d15637b49e0faf1af214")} ).pretty()
Ergebnis:
{ "_id" : ObjectId("5fe2d15637b49e0faf1af214"), "name" : "Scratch", "type" : "Cat" }
Was ist, wenn die Sammlung nicht existiert?
Wenn die Sammlung nicht vorhanden ist, wird sie erstellt und das Dokument hinzugefügt.
Wenn die Sammlung bereits existiert, wird das Dokument einfach hinzugefügt.
Als ich dieses Beispiel erstellt habe, war die Sammlung nicht vorhanden und wurde daher durch die Einfügeoperation erstellt.
Die _id
Feld
Die _id
field ist ein eindeutiges Bezeichnerfeld in MongoDB.
Sie können Ihre eigene _id
angeben Feld im Dokument. Wenn Sie dies tun, muss sein Wert innerhalb der Sammlung eindeutig sein. Das liegt daran, dass Ihre _id
wird als eindeutige Kennung des Dokuments verwendet.
Hier ist ein Beispiel für das Einfügen eines Dokuments mit eigener _id
Feld.
db.pets.insertOne( {
_id: 1,
name: "Fetch",
type: "Dog"
} )
Ergebnis:
{ "acknowledged" : true, "insertedId" : 1 }
Schauen wir uns jetzt noch einmal die Sammlung an.
db.pets.find()
Ergebnis:
{ "_id" : ObjectId("5fe2d15637b49e0faf1af214"), "name" : "Scratch", "type" : "Cat" } { "_id" : 1, "name" : "Fetch", "type" : "Dog" }
Weitere Informationen
Die db.collection.insertOne()
-Methode akzeptiert auch ein writeConcern
-Argument, das die Bestätigungsstufe beschreibt, die von MongoDB für Schreibvorgänge angefordert wird.
Siehe die MongoDB-Dokumentation für db.collection.insertOne()
für weitere Informationen.