Làm cách nào để chèn mảng tài liệu trong MongoDB?

Để chèn một bản ghi hoặc tài liệu như được gọi trong MongoDB, vào một bộ sưu tập, chúng tôi sử dụng phương thức insertOne()

Một tài liệu trong MongoDB giống như một bản ghi trong MySQL

Tham số đầu tiên của phương thức insertOne() là một đối tượng chứa (các) tên và (các) giá trị của từng trường trong tài liệu mà bạn muốn chèn

Nó cũng có chức năng gọi lại nơi bạn có thể làm việc với bất kỳ lỗi nào hoặc kết quả của việc chèn

Ví dụ

Chèn tài liệu vào bộ sưu tập "khách hàng"

var MongoClient = require('mongodb'). MongoClient;
var url = "mongodb. //máy chủ cục bộ. 27017/";

MongoClient. connect(url, function(err, db) {
  if (err) throw err;
  var dbo = db. db("mydb");
  var myobj = { name. "Công ty Inc", địa chỉ. "Quốc lộ 37" };
  dbo. bộ sưu tập ("khách hàng"). insertOne(myobj, function(err, res) {
    if (err) throw err;
    bảng điều khiển. log("Đã chèn 1 tài liệu");
    db. close();
  });
});

Chạy ví dụ »

Lưu mã ở trên vào tệp có tên "demo_mongodb_insert. js" và chạy tệp

Chạy "demo_mongodb_insert. js"

C. \Users\Tên của bạn>nút demo_mongodb_insert. js

Cái nào sẽ cho bạn kết quả này

Ghi chú. Nếu bạn cố gắng chèn tài liệu vào một bộ sưu tập không tồn tại, MongoDB sẽ tự động tạo bộ sưu tập



Chèn nhiều tài liệu

Để chèn nhiều tài liệu vào một collection trong MongoDB, chúng ta sử dụng phương thức insertMany()

Tham số đầu tiên của phương thức insertMany() là một mảng đối tượng, chứa dữ liệu bạn muốn chèn

Nó cũng có chức năng gọi lại nơi bạn có thể làm việc với bất kỳ lỗi nào hoặc kết quả của việc chèn

Ví dụ

Chèn nhiều tài liệu vào bộ sưu tập "khách hàng"

var MongoClient = require('mongodb'). MongoClient;
var url = "mongodb. //máy chủ cục bộ. 27017/";

MongoClient. connect(url, function(err, db) {
  if (err) throw err;
  var dbo = db. db("mydb");
  var myobj = [
    { name. 'John', địa chỉ. 'Quốc lộ 71'},
    { name. 'Peter', địa chỉ. 'Lowstreet 4'},
    { name. 'Amy', địa chỉ. 'Apple st 652'},
    { name. 'Hannah', địa chỉ. 'Núi 21'},
    { name. 'Michael', địa chỉ. 'Thung lũng 345'},
    { name. 'Sandy', địa chỉ. 'Ocean blvd 2'},
    { name. 'Betty', địa chỉ. 'Green Grass 1'},
    { name. 'Richard', địa chỉ. 'Sky st 331'},
    { name. 'Susan', địa chỉ. 'Một chiều 98'},
    { name. 'Vicky', địa chỉ. 'Khu vườn màu vàng 2'},
    { name. 'Ben', địa chỉ. 'Công viên ngõ 38'},
    { name. 'William', địa chỉ. 'Central st 954'},
    { name. 'Chuck', địa chỉ. 'Main Road 989'},
    { name. 'Viola', địa chỉ. 'Sideway 1633'}
  ];
  dbo. bộ sưu tập ("khách hàng"). insertMany(myobj, function(err, res) {
    if (err) throw err;
    bảng điều khiển. log("Số tài liệu đã chèn. " + độ phân giải. insertCount);
    db. close();
  });
});

Chạy ví dụ »

Lưu mã ở trên vào tệp có tên "demo_mongodb_insert_multiple. js" và chạy tệp

Chạy "demo_mongodb_insert_multiple. js"

C. \Users\Tên của bạn>nút demo_mongodb_insert_multiple. js

Cái nào sẽ cho bạn kết quả này

Số lượng tài liệu được chèn. 14


đối tượng kết quả

Khi thực thi phương thức insertMany(), một đối tượng kết quả được trả về

Đối tượng kết quả chứa thông tin về cách chèn ảnh hưởng đến cơ sở dữ liệu

Đối tượng được trả về từ ví dụ trên trông như thế này

{
  kết quả. { Vâng. 1, n. 14 },
  tốt. [
    { name. 'John', địa chỉ. 'Quốc lộ 71', _id. 58fdbf5c0ef8a50b4cdd9a84 },
    { name. 'Peter', địa chỉ. 'Lowstreet 4', _id. 58fdbf5c0ef8a50b4cdd9a85 },
    { name. 'Amy', địa chỉ. 'Apple st 652', _id. 58fdbf5c0ef8a50b4cdd9a86 },
    { name. 'Hannah', địa chỉ. 'Núi 21', _id. 58fdbf5c0ef8a50b4cdd9a87 },
    { name. 'Michael', địa chỉ. 'Thung lũng 345', _id. 58fdbf5c0ef8a50b4cdd9a88 },
    { name. 'Sandy', địa chỉ. 'Đại lộ 2', _id. 58fdbf5c0ef8a50b4cdd9a89 },
    { name. 'Betty', địa chỉ. 'Cỏ xanh 1', _id. 58fdbf5c0ef8a50b4cdd9a8a },
    { name. 'Richard', địa chỉ. 'Bầu trời đường 331', _id. 58fdbf5c0ef8a50b4cdd9a8b },
    { name. 'Susan', địa chỉ. 'Một chiều 98', _id. 58fdbf5c0ef8a50b4cdd9a8c },
    { name. 'Vicky', địa chỉ. 'Khu vườn vàng 2', _id. 58fdbf5c0ef8a50b4cdd9a8d },
    { name. 'Ben', địa chỉ. 'Công viên ngõ 38', _id. 58fdbf5c0ef8a50b4cdd9a8e },
    { name. 'William', địa chỉ. 'Trung tâm đường 954', _id. 58fdbf5c0ef8a50b4cdd9a8f },
    { name. 'Chuck', địa chỉ. 'Đường chính 989', _id. 58fdbf5c0ef8a50b4cdd9a90 },
    { name. 'Viola', địa chỉ. 'Đi ngang 1633', _id. 58fdbf5c0ef8a50b4cdd9a91 } ],
  insertCount. 14,
  id đã chèn. [
    58fdbf5c0ef8a50b4cdd9a84,
    58fdbf5c0ef8a50b4cdd9a85,
    58fdbf5c0ef8a50b4cdd9a86,
    58fdbf5c0ef8a50b4,cdd9ef8a50b4
    58fdbf5c0ef8a50b4cdd9a88,
    58fdbf5c0ef8a50b4cdd9a89,
    58fdbf5c0ef8a50b4cdd9a8a,
    58fdbf5c0ef8a50b4cdd9a8b,
    58fdbf5c0ef8a50b4cdd9a8c,
    58fdbf5c0ef8a50b4cdd9a8d,
    58fdbf5c0ef8a50b4cdd9a8e,
    58fdbf5c0ef8a50b4cdd9a8f
    58fdbf5c0ef8a50b4cdd9a90,
    58fdbf5c0ef8a50b4cdd9a91 ]
}

Các giá trị của các thuộc tính có thể được hiển thị như thế này

Ví dụ

Trả về số tài liệu đã chèn

bảng điều khiển. nhật ký (độ phân giải. được chèn vào)

Cái nào sẽ tạo ra kết quả này


Trường _id

Nếu bạn không chỉ định trường _id thì MongoDB sẽ thêm một trường cho bạn và gán một id duy nhất cho mỗi tài liệu

Trong ví dụ trên, không có trường _id nào được chỉ định và như bạn có thể thấy từ đối tượng kết quả, MongoDB đã gán một _id duy nhất cho mỗi tài liệu

Làm cách nào để thêm dữ liệu vào mảng trong MongoDB?

Trong MongoDB, toán tử $push được sử dụng để thêm một giá trị đã chỉ định vào một mảng. Nếu trường được đề cập không có trong tài liệu để cập nhật, toán tử $push sẽ thêm trường đó dưới dạng trường mới và bao gồm giá trị được đề cập làm thành phần của nó.

Làm cách nào để chèn hàng loạt bản ghi trong MongoDB?

Trong MongoDB, Hàng loạt. phương thức insert() được sử dụng để thực hiện thao tác chèn hàng loạt. Hay nói cách khác, hàng loạt. phương thức insert() được sử dụng để chèn nhiều tài liệu trong một lần.

Làm cách nào để chèn tài liệu lồng nhau trong MongoDB?

Như chúng ta biết rằng trong mongo shell, các tài liệu được biểu diễn bằng dấu ngoặc nhọn ( {} ) và bên trong các dấu ngoặc nhọn này, chúng ta có các cặp trường-giá trị. Bây giờ bên trong các trường này, chúng ta có thể nhúng tài liệu khác bằng cách sử dụng dấu ngoặc nhọn {} và tài liệu này có thể chứa các cặp giá trị trường hoặc tài liệu phụ khác.

Lệnh chèn nhiều tài liệu vào bộ sưu tập cơ sở dữ liệu MongoDB là gì?

insertMany() có thể chèn nhiều tài liệu vào một bộ sưu tập. Truyền một mảng tài liệu cho phương thức. Ví dụ sau chèn ba tài liệu mới vào bộ sưu tập hàng tồn kho. Nếu tài liệu không chỉ định trường _id, MongoDB sẽ thêm trường _id với giá trị ObjectId vào mỗi tài liệu