我是节点js的新手。我使用sails js作为框架。我正在尝试使用嵌套数据库查询。 请检查添加的代码。
我目前的mongo集合名称是todostatus。形成它我抓住了数据。然后我尝试使用回调函数来迭代数据并更新数据库中的每个项目。但我没有收到所有数据。谁能请我带头?
提前致谢,
尼克松
TodoStatus.find({todo_id : req.params.todo_id}).done(function(errs, responsible){
if(errs){
}
else{
function grabUsersName(todoRes, callback){
async.forEach(todoRes, function (item, callback2){
User.findOne ({id : item.user_id}).done(function (errses, user) {
if(errses)
{
console.log(errses);
}
else
{
item['name'] = user.name;
}
});
}, function(eerr) {
callback(todoRes);
});
}
grabUsersName(responsible, function(resultsa){
console.log(resultsa);
return res.view({
responsible: resultsa
})
})
}
})
答案 0 :(得分:1)
我找到了解决方案。
问题出在函数grabUserName()中。我错过了使用async.forEach的回调。检查功能代码以获取更多信息
function grabUsersName(todoRes, callback){
async.forEach(todoRes, function (item, callback2){
User.findOne ({id : item.user_id}).done(function (errses, user) {
if(errses){
console.log(errses);
}
else{
item['name'] = user.name;
callback2();
}
})
}, function(eerr) {
callback(todoRes);
});
}