从许多异步数据库查询中获取结果

时间:2015-05-26 10:48:19

标签: mongodb asynchronous

我需要迭代一组用户并从数据库中获取有关每个用户的信息。我试图使用异步库的map函数,但我不能让它接受我的迭代器。我有这样的事情:

async.map(arr, getInfo(id), function(err, results){
    // do stuff with the results
}

getInfo(id, callback){
   db.myCollection.find({query: params}, {projections: true}, function(err, info){
   callback(err, info)
   })
}

我得到了iterator(x.value,function(err,v){                 ^ TypeError:undefined不是函数

尝试不同的事情时的其他错误。基本上,我需要一个数据结构,其中包含数据库中的响应。

1 个答案:

答案 0 :(得分:1)

要100%确定我们需要查看您的数组和数据。但是,从你粘贴的代码来看,你看起来就是以错误的方式传递函数。

你传递的函数已经收到了一些参数吗? 我假设你的数组包含id,所以你应该以正确的方式传递函数来映射:

更改:

async.map(arr, getInfo(id), function(err, results)
                       ^^^

成:

async.map(arr, getInfo, function(err, results){