MongoDB Örnekle insert() işlevini kullanan Nesne Dizisi

⚡ Akıllı Özet

MongoDB insert() fonksiyonunu kullanarak nesne dizisi oluşturma, bir koleksiyona tek bir işlemde birden fazla belge eklemeyi gösterir. Çalışan kayıtlarından oluşan bir diziyi saklar, dizileri bir belgenin içine yerleştirir ve JSON print fonksiyonunu kullanarak sonuçları düzgün bir şekilde görüntüler.

  • 📥 Toplu Ekleme: `insert()` metodu, bir belge dizisini tek ve verimli bir işlemle bir koleksiyona ekler.
  • 🧾 Belge Modeli: Her belge, alan ve değer çiftlerinden oluşan bir kümedir ve MongoDB Otomatik olarak benzersiz bir _id ekler.
  • 🗂️ Gömülü Diziler: Bir dizi, bir belgenin içinde bir alan olarak da yer alabilir.ping Birbiriyle ilişkili değerleri bir araya getirmek.
  • 🔁 Modern Yöntemler: insertOne() ve insertMany() yöntemleri, eski insert() yönteminin daha anlaşılır ve güncel alternatifleridir.
  • 🖨️ Readable Çıktı: `forEach(printjson)` komutu, her belgeyi temiz ve okunması kolay bir JSON formatında yazdırır.

insert() metodu nedir? MongoDB?

insert() metodu MongoDB Bir koleksiyona bir veya daha fazla belge ekler. Belge, JSON'un ikili biçimi olan BSON'da saklanan alan ve değer çiftlerinden oluşan bir kümedir. Tek bir belge geçirdiğinizde, insert() yalnızca o kaydı saklar; bir belge dizisi geçirdiğinizde ise, tüm belgeleri tek bir işlemde saklar; bu da tek tek eklemekten daha hızlıdır.

Bu yöntem, db.collection.insert() kalıbı kullanılarak belirli bir koleksiyon üzerinde çalıştırılır. Hedef koleksiyon henüz mevcut değilse, MongoDB İlk ekleme sırasında otomatik olarak oluşturulur. Ayrıca, belirtmediğiniz takdirde her belgeye benzersiz bir _id alanı atanır, böylece her kayıt daha sonra tanımlanabilir.

insert() fonksiyonu hala çalışıyor olsa da, daha yeni sürümler MongoDB Bazı sürümler, daha anlaşılır alternatifler olarak insertOne() ve insertMany() işlevlerini sunar. Aşağıdaki örnekler, bir çalışan belgesi dizisi eklemek ve ardından sonuçları okunabilir bir JSON biçiminde görüntülemek için insert() işlevini kullanır.

Belge Dizisi Ekleme

“Ekle” komutu aynı anda birden fazla belgeyi bir koleksiyona eklemek için de kullanılabilir. Aşağıdaki kod örneği aynı anda birden fazla belge eklemek için kullanılabilir.

Aşağıdaki örnek bunun nasıl yapılabileceğini göstermektedir:

) 1 Adım Hat için bir JavaSenaryo Belge dizisini tutmak için myEmployee adlı değişken

) 2 Adım Alan Adı ve değerleri içeren gerekli belgeleri değişkene ekleyin

) 3 Adım Belge dizisini koleksiyona eklemek için insert komutunu kullanın

var myEmployee=
	[
		{
			"Employeeid" : 1,
			"EmployeeName" : "Smith"
		},
		{
			"Employeeid"   : 2,
			"EmployeeName" : "Mohan"
		},
		{
			"Employeeid"   : 3,
			"EmployeeName" : "Joe"
		},
	];

	db.Employee.insert(myEmployee);

Komut başarıyla yürütülürse, aşağıdaki Çıktı gösterilecektir

MongoDB Insert() işlevini kullanan Nesne Dizisi

Çıktı, bu 3 belgenin koleksiyona eklendiğini gösteriyor.

Belge İçine Dizi Nasıl Eklenir?

Birbirinden ayrı birçok belgeyi eklemenin yanı sıra, MongoDB Bu özellik, bir diziyi tek bir belge içinde bir alan olarak saklamanıza olanak tanır. Bu, bir kaydın doğal olarak bir değer listesi içerdiği durumlarda kullanışlıdır; örneğin, birden fazla beceriye sahip bir çalışan veya birden fazla derse kayıtlı bir öğrenci gibi. MongoDB Esnek bir belge modeli kullanır; dizi, ayrı bir tabloda değil, doğrudan nesnenin içinde yer alır ve bu da ilgili verileri bir arada tutar.

Aşağıdaki örnek, Skills adlı bir dizi alanı içeren bir çalışan belgesini ekler:

db.Employee.insert(
   {
      "Employeeid" : 4,
      "EmployeeName" : "Alan",
      "Skills" : [ "MongoDB", "Node.js", "Express" ]
   }
);

Bu belgenin bölümleri şu şekilde işlemektedir:

  • Çalışan kimliği hem de ÇalışanAdı Bunlar sıradan alan ve değer çiftleridir.
  • Becerileri Köşeli parantezler içinde üç dize değeri tutan bir dizi alanıdır.
  • Gömülü dizi de dahil olmak üzere tüm belge tek bir ekleme işleminde saklanır.

Kaydı ekledikten sonra, gömülü diziyi JSON formatında sonucu yazdıran bir arama sorgusuyla doğrulayabilirsiniz:

db.Employee.find( { "Employeeid" : 4 } ).forEach(printjson)

Çıktı, Skills dizisinin çalışan belgesinin içine yerleştirilmiş halini gösterir. Later$push operatörü ile diziye yeni değerler ekleyebilir veya tek bir öğeyi indeks konumuna göre okuyabilirsiniz. Bağlantılı değerleri bu şekilde saklamak, her belgenin kendi içinde bağımsız olmasını sağlar, koleksiyonlar arası birleştirme ihtiyacını azaltır ve verilerin okunmasını ve bakımını kolaylaştırır.

insert() vs insertOne() vs insertMany()

MongoDB Veri eklemek için üç ilgili yöntem sunar. Aşağıdaki tabloda bunlar karşılaştırılmıştır, böylece doğru olanı seçebilirsiniz:

Yöntem Amaç Örnek E-posta
ekle () Tek bir belge veya belge dizisi ekleyen eski yöntem. Hala çalışıyor ancak yeni sürücülerde kullanımdan kaldırılmıştır. db.Employee.insert(myEmployee)
insertOne() Tam olarak bir belge ekler ve eklenen belgenin _id'sini döndürür. Tek kayıtlar için tercih edilir. db.Employee.insertOne({ … })
insertMany() Tek bir çağrıda bir dizi belge ekler ve eklenen tüm _id'leri döndürür. Toplu eklemeler için tercih edilir. db.Employee.insertMany([ { … }, { … } ])

Yeni projeler için, daha net bir amaç ve daha iyi hata raporlaması sağladıkları için insertOne() ve insertMany() yöntemlerini kullanın. insert() yöntemi, esas olarak eski eğitimler ve komut dosyalarıyla geriye dönük uyumluluk için kullanılabilir durumda kalmıştır.

JSON formatında yazdırma

JSON adı verilen bir formattır JavaKomut Dosyası Nesne Gösterimive bilgileri düzenli, okunması kolay bir şekilde saklamanın bir yoludur. Sonraki örneklerimizde çıktıyı daha iyi bir formatta görmek için JSON yazdırma işlevini kullanacağız.

JSON formatında yazdırma örneğine bakalım

db.Employee.find().forEach(printjson)

Code Açıklama:

  1. İlk değişiklik, `find()` fonksiyonuna `forEach()` adlı fonksiyonu eklemektir. Bu, koleksiyondaki her belgeyi açıkça tek tek incelemeyi sağlar. Bu sayede, koleksiyondaki her belgeyle ne yapabileceğiniz konusunda daha fazla kontrol sahibi olursunuz.
  2. İkinci değişiklik ise printjson komutunu forEach ifadesine koymaktır. Bu, koleksiyondaki her belgenin JSON formatında görüntülenmesine neden olacaktır.

Komut başarıyla yürütülürse, aşağıdaki Çıktı gösterilecektir

Çıktı:

JSON Formatında Yazdırma

Çıktı, tüm belgelerin JSON tarzında yazdırıldığını açıkça göstermektedir.

SSS

Evet. insert() fonksiyonuna bir belge dizisi geçirmek, tüm belgeleri tek bir işlemde ekler. Bu toplu ekleme, her belge için ayrı ayrı insert() fonksiyonunu çağırmaktan daha hızlıdır, ancak insertMany() artık tercih edilen yöntemdir.

Evet. Bir belgede _id alanı yoksa, MongoDB Ekleme işlemi sırasında otomatik olarak benzersiz bir ObjectId oluşturur, böylece saklanan her kayıt daha sonra tanımlanabilir ve alınabilir.

Varsayılan olarak, MongoDB Sıralı ekleme işlemi gerçekleştirir. Belgeleri belirtilen sırayla ekler ve ilk hatada durarak kalan belgeleri eklemeden bırakır. Sıralı seçeneğini false olarak ayarlamak, hataların ötesinde işleme devam eder.

Evet. Yapay zeka araçları, verilerinizin düz dildeki açıklamasını, gömülü diziler de dahil olmak üzere insertOne() veya insertMany() ifadelerine dönüştürebilir. Veritabanında çalıştırmadan önce oluşturulan alanları ve veri türlerini daima gözden geçirin.

Yapay zeka, sorgu kalıplarınıza bağlı olarak dizileri bir belge içine yerleştirmeyi mi yoksa ayrı koleksiyonlara referans vermeyi mi önerebilir. Bu, yeni başlayanların gereksiz tekrarlardan veya aşırı derin iç içe geçmelerden kaçınarak verileri verimli bir şekilde modellemelerine yardımcı olur.

Bu yazıyı şu şekilde özetleyin: