无法推入空数组JS

时间:2016-02-23 01:55:20

标签: javascript arrays

findOne查询从DB返回用户。当我在console.log(用户)时,它会打印出用户数据。但由于某种原因,没有推进user_contacts。它只是作为一个空数组返回。

throw new MyCustomeException()

这应该是这么简单,但却看不出我做错了什么。感谢帮助。

2 个答案:

答案 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仍为空。