更新工作非常缓慢,我想对其进行改进
我的mongo数据库中大约有3,000,000个文档。 我使用此代码添加文档
app.post('/addcontacts', (req, res) => {
const jason = JSON.parse(req.body.body);
async.eachOfLimit(jason, 30, function(value, index, callback){
// upsert document, update all or insert if match not found
myDb.collection('contacts').update(
{ n: value.n, p: value.p }, {n: value.n, p: value.p}, {upsert: true}, function(err){
console.log("finshed: "+index);
return callback(err);
});
}, function(err){
// all is finished
if(err)
{
return res.status(500).json({err: err});
}
else
{
console.log("finshed");
return res.status(200).json({err: null});
}
db.close()
})
});
工作变得很慢,我如何才能改善它呢?
答案 0 :(得分:0)
mongodb很快,请尝试改善您的javascript代码。例如使用
Promise.all(map())
示例
var promises = [obj1, obj2].map(function(obj){
return db.query('obj1.id').then(function(results){
obj1.rows = results
return obj1
})
})
Promise.all(promises).then(function(results) {
console.log(results)
})
我很快就插入了10lac记录。所以我希望这对您有用。