MongoDB insert
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!
