Insert Into Collection
To insert a record, or document as it is called in MongoDB, into a collection, we use the insertOne[]
method.
A document in MongoDB is the same as a record in MySQL
The first parameter of the insertOne[]
method is an object containing the name[s] and value[s] of each field in the document you want to insert.
It also takes a callback function where you can work with any errors, or the result of the insertion:
Example
Insert a document in the "customers" collection:
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[];
}];
}];
Run example »
Save the code above in a file called "demo_mongodb_insert.js" and run the file:
Run "demo_mongodb_insert.js"
C:\Users\Your Name>node demo_mongodb_insert.js
Which will give you this result:
Note: If you try to insert documents in a collection that do not exist, MongoDB will create the collection automatically.
Insert Multiple Documents
To insert multiple documents into a collection in MongoDB, we use the insertMany[]
method.
The first parameter of the insertMany[]
method is an array of objects, containing the data you want to insert.
It also takes a callback function where you can work with any errors, or the result of the insertion:
Example
Insert multiple documents in the "customers" collection:
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[];
}];
}];
Run example »
Save the code above in a file called "demo_mongodb_insert_multiple.js" and run the file:
Run "demo_mongodb_insert_multiple.js"
C:\Users\Your Name>node demo_mongodb_insert_multiple.js
Which will give you this result:
Number of documents inserted: 14
The Result Object
When executing the insertMany[]
method, a result object is returned.
The result object contains information about how the insertion affected the database.
The object returned from the example above looked like this:
{
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 ]
}
Các giá trị của các thuộc tính có thể được hiển thị như thế này:
Thí dụ
Trả về số lượng tài liệu được chèn:
Console.log [res.insertedcount]
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 ID duy nhất cho mỗi tài liệu.
Trong ví dụ trên không có trường _id
đượ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.
Nếu bạn chỉ định trường _id
, giá trị phải là duy nhất cho mỗi tài liệu:
Thí dụ
Chèn ba bản ghi vào bảng "Sản phẩm", với các trường _id
được chỉ định:
var Mongoclient = Yêu cầu ['MongoDB']. Mongoclient; var url = "MongoDB: // localhost: 27017/";
var url = "mongodb://localhost:27017/";
Mongoclient.connect [url, function [err, db] {& nbsp; if [err] ném err; & nbsp; var dbo = db.db ["mydb"]; : 154, Tên: 'Sôcôla Heaven'}, & nbsp; & nbsp; & nbsp; {_id: 155, tên: 'Lemon ngon'}, & nbsp; ]; & nbsp; dbo.collection ["Sản phẩm"]. & nbsp; & nbsp; & nbsp; db.close []; & nbsp;}];}];
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[];
}];
}];
Chạy ví dụ »
Lưu mã ở trên trong một tệp có tên là "demo_mongodb_insert_id.js" và chạy tệp:
Chạy "demo_mongodb_insert_id.js"
C: \ Users \ Your Name> Node demo_mongodb_insert_id.js
Điều này sẽ cung cấp cho bạn kết quả này:
{& nbsp; Kết quả: {OK: 1, n: 3}, & nbsp; ops: [& nbsp; & nbsp; & nbsp; {_id: 154, Tên: 'Sôcôla Heaven}, & nbsp; & nbsp; & nbsp; {_id: 155, Tên: 'Lemon ngon}, & nbsp; & nbsp; & nbsp; {_id: 156, Tên: 'Vanilla Dream}], & nbsp; ChènCount: 3, & nbsp; ChènedIdIDS: [& nbsp; & nbsp; & nbsp; 154, & nbsp; & nbsp; & nbsp; 155, & nbsp; & nbsp; & nbsp; 156]}
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 ]
}