【发布时间】:2020-09-26 05:50:34
【问题描述】:
我有以下代码,我需要等到mongodb操作完成。
const nativeClient = require("mongodb").MongoClient;
async function ingestData() {
var data = [
{name: "a", address: "a_add"},
{name: "b", address: "b_add"}
];
console.log(" start ingestData");
await insertPersons(data);
console.log("end ingestData");
}
async function insertPersons(data) {
nativeClient.connect("mongodb://localhost:27017", function(err, client) {
if (err) throw err;
var db = client.db("testdb");
db.collection("person")
.insertMany(data)
.then(function(res) {
console.log(`Number of rec inserted: ${res.insertedCount}`);
return true;
})
.catch(function(err) {
console.log(`Failed to persist ${data.length} rec in db: ${err}`);
return false;
});
});
}
ingestData();
电流输出
开始摄取数据 结束摄取数据 插入的记录数:2预期输出
开始摄取数据 插入的记录数:2 结束摄取数据【问题讨论】:
-
作为一般规则,您永远不想将异步进程转变为同步进程。总有更好的方法来处理这种情况。
标签: node.js mongodb asynchronous async-await