findOne查询从DB返回用户。当我在console.log(用户)时,它会打印出用户数据。但由于某种原因,没有推进user_contacts。它只是作为一个空数组返回。
throw new MyCustomeException()
这应该是这么简单,但却看不出我做错了什么。感谢帮助。
答案 0 :(得分:1)
由于调用是异步的 - 您的日志和响应在所有内容完成之前执行。你可能也会遇到一些循环异步调用的问题 - 你最好的选择是使用$in
然后返回:
get_contacts: function (req, res){
var ids = req.body.contacts.map(function(contact) { return contact._User });
User.find({_id: {$in: ids}}, function(err, users) {
res.json(users)
});
}
答案 1 :(得分:0)
User.findOne({})是async,这意味着将数据推入user_contacts数组的回调函数 会延迟执行。 因此,在console.log的那一刻,user_contacts仍为空。