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.

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
Çı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:
- İ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.
- İ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ı:
Çıktı, tüm belgelerin JSON tarzında yazdırıldığını açıkça göstermektedir.


