MongoDB insert


ULASHISH

To‘plamga kiritish

MongoDB da deyilganidek yozuv yoki hujjatni to‘plamga kiritish uchun biz quyidagidan foydalanamiz. insertOne() usuli.

MongoDB-dagi hujjat MySQL-dagi yozuv bilan bir xil.

insertOne() metodining birinchi parametri qo‘shmoqchi bo‘lgan hujjatingizdagi har bir maydonning nomi(lari) va qiymati(lari)ni o‘z ichiga olgan obyektdir.

Shuningdek, u har qanday xatolar bilan ishlashingiz mumkin bo‘lgan callback funksiyasi funksiyasini oladi yoki kiritish natijasi:

Misol

Hujjatni "mijozlar" to‘plamiga kiriting:

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

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  let dbo = db.db("mydb");
  let 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();
  });
});
Misolni ishga tushirish »

Yuqoridagi kodni "demo_mongodb_insert.js" deb nomlangan faylga saqlang va faylni ishga tushiring:

"demo_mongodb_insert.js" ni ishga tushiring

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

Bu sizga bu natijani beradi:

1 document inserted

Eslatma: Agar siz to‘plamga kiritilmagan hujjatlarni kiritishga harakat qilsangiz mavjud bo‘lsa, MongoDB to‘plamni avtomatik ravishda yaratadi.



Bir nechta hujjatlarni kiritish

MongoDB to‘plamiga bir nechta hujjatlarni kiritish uchun biz dan foydalanamiz insertMany() usuli.

insertMany() usulining birinchi parametri Siz xohlagan ma’lumotlarni o‘z ichiga olgan obyektlar massivi kiritish.

Shuningdek, u har qanday xatolar bilan ishlashingiz mumkin bo‘lgan callback funksiyasi funksiyasini oladi yoki kiritish natijasi:

Misol

"Mijozlar" to‘plamiga bir nechta hujjatlarni kiriting:

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

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  let dbo = db.db("mydb");
  let 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();
  });
});
Misolni ishga tushirish »

Yuqoridagi kodni "demo_mongodb_insert_multiple.js" nomli faylga saqlang va faylni ishga tushiring:

"demo_mongodb_insert_multiple.js" ni ishga tushiring

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

Bu sizga bu natijani beradi:

Number of documents inserted: 14

Natija obyekti

insertMany() usulini bajarishda natija obyekti qaytariladi.

Natija obyekti kiritish qanday ta’sir qilgani haqida ma’lumotni o‘z ichiga oladi ma’lumotlar bazasi.

Yuqoridagi misoldan qaytarilgan obyekt quyidagicha ko‘rinadi:

{
  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 ]
}

Xususiyatlarning qiymatlari quyidagicha ko‘rsatilishi mumkin:

Misol

Kiritilgan hujjatlar sonini qaytaring:

console.log(res.insertedCount)

Qaysi natijani beradi:

14

_id maydoni

Agar _id maydonini belgilamasangiz, u holda MongoDB siz uchun bitta qo‘shadi va har bir hujjat uchun noyob identifikator tayinlaydi.

Yuqoridagi misolda _id maydoni yo‘q edi ko‘rsatilgan va natija obyektidan ko‘rib turganingizdek, MongoDB noyobni tayinladi Har bir hujjat uchun _id.

Agar siz _id maydonini qilsangiz, qiymat bo‘lishi kerak har bir hujjat uchun noyob bo‘lishi kerak:

Misol

Belgilangan holda "mahsulotlar" jadvaliga uchta yozuvni kiriting _id maydonlar:

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

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  let dbo = db.db("mydb");
  let 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();
  });
});
Misolni ishga tushirish »

Yuqoridagi kodni "demo_mongodb_insert_id.js" nomli faylga saqlang va faylni ishga tushiring:

"demo_mongodb_insert_id.js" ni ishga tushiring

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

Bu sizga bu natijani beradi:

{
  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 ]
}


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!