【发布时间】:2017-06-14 16:47:31
【问题描述】:
我正在尝试使用猫鼬模式从多个集合中检索数据,然后以 JSON 格式发回响应。这是我写的代码。
function GetConnections_V2(req,res){
Connection.find({"user_id":"55006c36c30f0edc5400022d"})
.exec(function(err,connections){
var list = [];
var obj = new Object();
connections.forEach(function(connection){
obj.friend_id = connection.user_id_friend;
User.findById(connection.user_id_friend)
.exec(function(err,user){
if(user !== null) {
obj.friend_email = user.email;
obj.friend_details_id = user.details;
UserDetail.findById(user.details).exec(function (err, details) {
obj.firstname = details.firstname;
obj.lastname = details.lastname;
obj.image = details.image;
list.push(obj);
});
}
});
});
});
console.log(list);
res.send(list);
};
现在开始执行这段代码。它返回空数组。我该如何解决这个问题?
【问题讨论】:
-
您在 for 循环中调用
async函数。使用asynclib 或promise。 -
@MukeshSharma 我该怎么做?我实际上是新手。
标签: javascript node.js mongodb mongoose mean-stack