Bu bölüm, MongoDB'ye mongo shell kullanarak belge verilerinin nasıl ekleneceğini tanıtır.

Tek Bir Belge Ekleme

db.collection.insertOne() yöntemi, bir koleksiyona tek bir belge eklemek için kullanılır.

Belgede _id alanı belirtilmemişse, MongoDB otomatik olarak _id alanı için benzersiz bir ObjectId oluşturur.

Not: ObjectId, MongoDB'de kullanılan yerleşik benzersiz kimlik numarası üreticisidir.

Örnek: Envanter koleksiyonuna bir belge ekleyin:

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

Döndürür:

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

Ekleme başarılı ise, birincil anahtarı döndürür. insertedId alanı, MongoDB tarafından otomatik olarak oluşturulan benzersiz bir ID'yi içerir. Eğer envanter koleksiyonu mevcut değilse, otomatik olarak oluşturulur.

Eklenen belge verisini sorgulayın:

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

find yöntemini kullanarak, "item"i "tuval" olan belge verisini bulmak için sorgu koşulunu girdik.

Birden Fazla Belge Ekleme

db.collection.insertMany() yöntemi, bir koleksiyona birden fazla belge ekleyebilir.

Örnek: insertMany yöntemine bir dizi göndererek üç belge verisini ekleyin:

db.inventory.insertMany([
   { item: "defter", qty: 25, tags: ["boş", "kırmızı"], size: { h: 14, w: 21, uom: "cm" } },
   { item: "mat", qty: 85, tags: ["gri"], size: { h: 27.9, w: 35.5, uom: "cm" } },
   { item: "fare pedi", qty: 25, tags: ["jel", "mavi"], size: { h: 19, w: 22.85, uom: "cm" } }
])

Dönüş değeri:

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

Yeni eklenen üç belgenin ID'lerini döndürür.

Ekleme Davranışı

Koleksiyon Oluşturma

MongoDB'de bir koleksiyonu önceden oluşturma gereği yoktur. İlk kez veri eklerken, koleksiyon mevcut değilse otomatik olarak oluşturulur.

_id Alanı

MongoDB'de bir koleksiyonda depolanan her belgenin birincil anahtar olarak görev yapan benzersiz bir _id alanı bulunur. Eğer eklenen belge _id alanını eksik bırakırsa, MongoDB sürücüsü otomatik olarak _id alanı için bir ObjectId oluşturur.

Atomik İşlemler

MongoDB'deki tüm yazma işlemleri, tek belge düzeyinde atomik işlemlerdir.