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.