将多个结果集传递给下一个mongoose.js承诺链

时间:2017-11-09 16:55:14

标签: javascript node.js mongoose promise

我正在使用mongoose.js承诺。我试图在我的链中找到2个查找并将这两个结果集传递给链中的下一个链接。 我想要发生的是来自groups.find()和Users.find()的结果作为参数传递到processResultsets。在此示例中,groupList返回正常。但是当我进入processResultsets时,我只拥有上一个链接中的用户。

var promise =  groups
        .find()
        .sort('groupname')
        .exec();

promise
    .then(getWidgetsForGroups)
    .then(processResultsets)
    .catch(errFN);


function getWidgetsForGroups(groupList)
{

        return Users
            .find()
            .sort('name')
            .lean()
}

function processResultsets(rs1,rs2)
{
    ...
}

function errFN(err)
{
  ...
}

1 个答案:

答案 0 :(得分:0)

如果我以正确的方式理解你的问题:不可能得到多个结果。只需使用类似代码的内容:

...
    .then(function(){
            return your_result_1
        }).then(function(){
            return your_result_2
        })...