Ten rozdział opisuje, jak wstawić dane dokumentu do MongoDB przy użyciu powłoki mongo.

Wstawianie pojedynczego dokumentu

Metoda db.collection.insertOne() służy do wstawiania pojedynczego dokumentu do kolekcji.

Jeśli dokument nie określa pola _id, MongoDB automatycznie generuje unikalny ObjectId dla pola _id.

Uwaga: ObjectId to wbudowany generator unikalnych identyfikatorów w MongoDB używany do generowania identyfikatorów.

Przykład: Wstawienie dokumentu do kolekcji inventory:

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

Zwraca:

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

Jeśli wstawianie powiedzie się, zwracany jest klucz główny. Pole insertedId to automatycznie wygenerowany unikalny identyfikator przez MongoDB. Jeśli kolekcja inventory nie istnieje, jest ona tworzona automatycznie.

Zapytanie o wstawiony dokument:

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

Przy użyciu metody find wprowadź warunek zapytania, aby znaleźć dane dokumentu, w którym item to "canvas".

Wstawianie wielu dokumentów

Metoda db.collection.insertMany() może wstawić wiele dokumentów do kolekcji.

Przykład: Wstaw trzy dokumenty, przekazując tablicę do metody insertMany:

db.inventory.insertMany([
   { item: "journal", qty: 25, tags: ["blank", "red"], size: { h: 14, w: 21, uom: "cm" } },
   { item: "mat", qty: 85, tags: ["gray"], size: { h: 27.9, w: 35.5, uom: "cm" } },
   { item: "mousepad", qty: 25, tags: ["gel", "blue"], size: { h: 19, w: 22.85, uom: "cm" } }
])

Wartość zwracana:

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

Zwraca identyfikatory nowo wstawionych trzech dokumentów.

Zachowanie wstawiania

Tworzenie kolekcji

W MongoDB nie ma konieczności tworzenia kolekcji z góry. Podczas pierwszego wstawiania danych, jeśli kolekcja nie istnieje, jest ona tworzona automatycznie.

Pole _id

W MongoDB każdy przechowywany dokument w kolekcji ma unikalne pole _id pełniące rolę klucza głównego. Jeśli wstawiany dokument pomija pole _id, sterownik MongoDB automatycznie generuje ObjectId dla pola _id.

Atomowość

Wszystkie operacje zapisu w MongoDB są operacjami atomowymi na poziomie pojedynczego dokumentu.