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

MongoDB insertOne()

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 als true ob die Operation mit Write Concern oder false 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.