Node.js MongoDB Ekle


Koleksiyona Ekle

MongoDB'de çağrıldığı şekliyle bir kayıt veya belgeyiinsertOne() bir koleksiyona eklemek için yöntemi kullanırız.

MongoDB'deki bir belge , MySQL'deki bir kayıtla aynıdır

Yöntemin ilk parametresi, insertOne()eklemek istediğiniz belgedeki her alanın adlarını ve değerlerini içeren bir nesnedir.

Ayrıca, herhangi bir hatayla veya eklemenin sonucuyla çalışabileceğiniz bir geri arama işlevi de alır:

Örnek

"Müşteriler" koleksiyonuna bir belge ekleyin:

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  var dbo = db.db("mydb");
  var myobj = { name: "Company Inc", address: "Highway 37" };
  dbo.collection("customers").insertOne(myobj, function(err, res) {
    if (err) throw err;
    console.log("1 document inserted");
    db.close();
  });
});

Yukarıdaki kodu "demo_mongodb_insert.js" adlı bir dosyaya kaydedin ve dosyayı çalıştırın:

"demo_mongodb_insert.js"yi çalıştırın

C:\Users\Your Name>node demo_mongodb_insert.js

Hangisi size bu sonucu verecektir:

1 document inserted

Not: Var olmayan bir koleksiyona belgeler eklemeye çalışırsanız, MongoDB koleksiyonu otomatik olarak oluşturacaktır.



Birden Çok Belge Ekle

MongoDB'deki bir koleksiyona birden fazla belge eklemek için insertMany()yöntemi kullanıyoruz.

Yöntemin ilk parametresi, insertMany()eklemek istediğiniz verileri içeren bir dizi nesnedir.

Ayrıca, herhangi bir hatayla veya eklemenin sonucuyla çalışabileceğiniz bir geri arama işlevi de alır:

Örnek

"Müşteriler" koleksiyonuna birden çok belge ekleyin:

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  var dbo = db.db("mydb");
  var myobj = [
    { name: 'John', address: 'Highway 71'},
    { name: 'Peter', address: 'Lowstreet 4'},
    { name: 'Amy', address: 'Apple st 652'},
    { name: 'Hannah', address: 'Mountain 21'},
    { name: 'Michael', address: 'Valley 345'},
    { name: 'Sandy', address: 'Ocean blvd 2'},
    { name: 'Betty', address: 'Green Grass 1'},
    { name: 'Richard', address: 'Sky st 331'},
    { name: 'Susan', address: 'One way 98'},
    { name: 'Vicky', address: 'Yellow Garden 2'},
    { name: 'Ben', address: 'Park Lane 38'},
    { name: 'William', address: 'Central st 954'},
    { name: 'Chuck', address: 'Main Road 989'},
    { name: 'Viola', address: 'Sideway 1633'}
  ];
  dbo.collection("customers").insertMany(myobj, function(err, res) {
    if (err) throw err;
    console.log("Number of documents inserted: " + res.insertedCount);
    db.close();
  });
});

Yukarıdaki kodu "demo_mongodb_insert_multiple.js" adlı bir dosyaya kaydedin ve dosyayı çalıştırın:

"demo_mongodb_insert_multiple.js"yi çalıştırın

C:\Users\Your Name>node demo_mongodb_insert_multiple.js

Hangisi size bu sonucu verecektir:

Number of documents inserted: 14

Sonuç Nesnesi

Yöntem yürütülürken insertMany()bir sonuç nesnesi döndürülür.

Sonuç nesnesi, eklemenin veritabanını nasıl etkilediği hakkında bilgi içerir.

Yukarıdaki örnekten döndürülen nesne şuna benziyordu:

{
  result: { ok: 1, n: 14 },
  ops: [
    { name: 'John', address: 'Highway 71', _id: 58fdbf5c0ef8a50b4cdd9a84 },
    { name: 'Peter', address: 'Lowstreet 4', _id: 58fdbf5c0ef8a50b4cdd9a85 },
    { name: 'Amy', address: 'Apple st 652', _id: 58fdbf5c0ef8a50b4cdd9a86 },
    { name: 'Hannah', address: 'Mountain 21', _id: 58fdbf5c0ef8a50b4cdd9a87 },
    { name: 'Michael', address: 'Valley 345', _id: 58fdbf5c0ef8a50b4cdd9a88 },
    { name: 'Sandy', address: 'Ocean blvd 2', _id: 58fdbf5c0ef8a50b4cdd9a89 },
    { name: 'Betty', address: 'Green Grass 1', _id: 58fdbf5c0ef8a50b4cdd9a8a },
    { name: 'Richard', address: 'Sky st 331', _id: 58fdbf5c0ef8a50b4cdd9a8b },
    { name: 'Susan', address: 'One way 98', _id: 58fdbf5c0ef8a50b4cdd9a8c },
    { name: 'Vicky', address: 'Yellow Garden 2', _id: 58fdbf5c0ef8a50b4cdd9a8d },
    { name: 'Ben', address: 'Park Lane 38', _id: 58fdbf5c0ef8a50b4cdd9a8e },
    { name: 'William', address: 'Central st 954', _id: 58fdbf5c0ef8a50b4cdd9a8f },
    { name: 'Chuck', address: 'Main Road 989', _id: 58fdbf5c0ef8a50b4cdd9a90 },
    { name: 'Viola', address: 'Sideway 1633', _id: 58fdbf5c0ef8a50b4cdd9a91 } ],
  insertedCount: 14,
  insertedIds: [
    58fdbf5c0ef8a50b4cdd9a84,
    58fdbf5c0ef8a50b4cdd9a85,
    58fdbf5c0ef8a50b4cdd9a86,
    58fdbf5c0ef8a50b4cdd9a87,
    58fdbf5c0ef8a50b4cdd9a88,
    58fdbf5c0ef8a50b4cdd9a89,
    58fdbf5c0ef8a50b4cdd9a8a,
    58fdbf5c0ef8a50b4cdd9a8b,
    58fdbf5c0ef8a50b4cdd9a8c,
    58fdbf5c0ef8a50b4cdd9a8d,
    58fdbf5c0ef8a50b4cdd9a8e,
    58fdbf5c0ef8a50b4cdd9a8f
    58fdbf5c0ef8a50b4cdd9a90,
    58fdbf5c0ef8a50b4cdd9a91 ]
}

Özelliklerin değerleri şu şekilde görüntülenebilir:

Örnek

Eklenen belgelerin sayısını döndür:

console.log(res.insertedCount)

Bu sonucu üretecek olan:

14

_id Alanı

Bir alan belirtmezseniz _id, MongoDB sizin için bir tane ekler ve her belge için benzersiz bir kimlik atar.

Yukarıdaki örnekte herhangi bir _idalan belirtilmemiştir ve sonuç nesnesinden de görebileceğiniz gibi MongoDB her belge için benzersiz bir _id atamıştır.

Alanı belirtirseniz, değer her belge için benzersiz olmalıdır :_id

Örnek

_idBelirtilen alanlar ile bir "ürünler" tablosuna üç kayıt ekleyin :

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  var dbo = db.db("mydb");
  var myobj = [
    { _id: 154, name: 'Chocolate Heaven'},
    { _id: 155, name: 'Tasty Lemon'},
    { _id: 156, name: 'Vanilla Dream'}
  ];
  dbo.collection("products").insertMany(myobj, function(err, res) {
    if (err) throw err;
    console.log(res);
    db.close();
  });
});

Yukarıdaki kodu "demo_mongodb_insert_id.js" adlı bir dosyaya kaydedin ve dosyayı çalıştırın:

"demo_mongodb_insert_id.js"yi çalıştırın

C:\Users\Your Name>node demo_mongodb_insert_id.js

Hangisi size bu sonucu verecektir:

{
  result: { ok: 1, n: 3 },
  ops: [
    { _id: 154, name: 'Chocolate Heaven },
    { _id: 155, name: 'Tasty Lemon },
    { _id: 156, name: 'Vanilla Dream } ],
  insertedCount: 3,
  insertedIds: [
    154,
    155,
    156 ]
}