源代码请查看GitHub:
https://github.com/slhuang520/study/tree/master/web/nodeJS/mongoDB/insert.js
目前使用的 mongodb nodeJS driver 版本为 3.2.3
const MongodbClient = require("mongodb").MongoClient;
const assert = require("assert");
(async function() {
const url = "mongodb://127.0.0.1:27017",
dbName = "mydb",
client = new MongodbClient(url);
try {
await client.connect();
const db = client.db(dbName);
const col = await db.collection("user");
/*//如果传一个 cb 函数,返回的结果为 undefined
col.insert({name: "Jim", age: 23}, function (err, res) {
console.log(err);
console.log(res);
assert.equal(null, err);
assert.equal(1, res.result.ok);
assert.equal(1, res.result.n);
assert.equal("Jim", res.ops[0].name);
assert.equal(23, res.ops[0].age);
assert.equal(1, res.insertedCount);
});*/
//如果没有传 cb 函数,则返回一个 Promise
col.insert({name: "Tos", age: 33}).then(function (res) {
console.log(res);
assert.equal(1, res.result.ok);
assert.equal(1, res.result.n);
assert.equal("Tos", res.ops[0].name);
assert.equal(33, res.ops[0].age);
assert.equal(1, res.insertedCount);
});
} catch (e) {
console.log(e.stack);
} finally {
client.close();
}
/*
{ result: { ok: 1, n: 1 },
ops: [ { name: 'Tos', age: 33, _id: 5cd1a3b74dd3723a98439dc3 } ],
insertedCount: 1,
insertedIds: { '0': 5cd1a3b74dd3723a98439dc3 } }
*/
})();