nodejs中的多个异步mongo请求

AHO*_*HOY 1 javascript asynchronous mongodb node.js

如何连续写多个查询?

像一个

Space.findOne({ _id: id }, function(err, space) {
    User.findOne({ user_id: userid }, function(err, user) {
        res.json({ space: space, user: user});
    });
});
Run Code Online (Sandbox Code Playgroud)

更多的请求和逻辑看起来不太好

它是如何正确完成的?

我听到了有关这个承诺的事情,但我不知道.

谢谢

Ben*_*aum 7

当我遇到类似问题时,我使用了异步库.

async.parallel([
    function(callback){
       Space.findOne({ _id: id }, callback);
    },
    function(callback){
        User.findOne({ user_id: userid },callback);
    }
],
function(err, results){
    res.json({space:results[0],user:results[1]});
});
Run Code Online (Sandbox Code Playgroud)

如果要进行顺序执行,也可以使用async.series.