Sisipan MongoDB Node.js


Masukkan Ke Koleksi

Untuk menyisipkan catatan, atau dokumen seperti yang disebut di MongoDB, ke dalam koleksi, kami menggunakan insertOne()metode.

Dokumen di MongoDB sama dengan catatan di MySQL

Parameter pertama insertOne()metode ini adalah objek yang berisi nama dan nilai setiap bidang dalam dokumen yang ingin Anda sisipkan.

Ini juga membutuhkan fungsi panggilan balik di mana Anda dapat bekerja dengan kesalahan apa pun, atau hasil penyisipan:

Contoh

Masukkan dokumen dalam koleksi "pelanggan":

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();
  });
});

Simpan kode di atas dalam file bernama "demo_mongodb_insert.js" dan jalankan file tersebut:

Jalankan "demo_mongodb_insert.js"

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

Yang akan memberi Anda hasil ini:

1 document inserted

Catatan: Jika Anda mencoba menyisipkan dokumen dalam koleksi yang tidak ada, MongoDB akan membuat koleksi secara otomatis.



Masukkan Banyak Dokumen

Untuk menyisipkan beberapa dokumen ke dalam koleksi di MongoDB, kami menggunakan insertMany()metode.

Parameter pertama insertMany()metode ini adalah larik objek, berisi data yang ingin Anda sisipkan.

Ini juga membutuhkan fungsi panggilan balik di mana Anda dapat bekerja dengan kesalahan apa pun, atau hasil penyisipan:

Contoh

Masukkan beberapa dokumen dalam koleksi "pelanggan":

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();
  });
});

Simpan kode di atas dalam file bernama "demo_mongodb_insert_multiple.js" dan jalankan file:

Jalankan "demo_mongodb_insert_multiple.js"

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

Yang akan memberi Anda hasil ini:

Number of documents inserted: 14

Hasil Obyek

Saat menjalankan insertMany()metode, objek hasil dikembalikan.

Objek hasil berisi informasi tentang bagaimana penyisipan mempengaruhi database.

Objek yang dikembalikan dari contoh di atas tampak seperti ini:

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

Nilai properti dapat ditampilkan seperti ini:

Contoh

Kembalikan jumlah dokumen yang dimasukkan:

console.log(res.insertedCount)

Yang akan menghasilkan hasil ini:

14

Bidang _id

Jika Anda tidak menentukan _idbidang, maka MongoDB akan menambahkan satu untuk Anda dan menetapkan id unik untuk setiap dokumen.

Dalam contoh di atas tidak ada _idbidang yang ditentukan, dan seperti yang Anda lihat dari objek hasil, MongoDB menetapkan _id unik untuk setiap dokumen.

Jika Anda menentukan bidang _id, nilainya harus unik untuk setiap dokumen:

Contoh

Masukkan tiga catatan dalam tabel "produk", dengan _idbidang yang ditentukan:

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();
  });
});

Simpan kode di atas dalam file bernama "demo_mongodb_insert_id.js" dan jalankan file tersebut:

Jalankan "demo_mongodb_insert_id.js"

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

Yang akan memberi Anda hasil ini:

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