平行mongoose与promises /蓝鸟查询?

我有一个使用mongoose的nodejs / mongodb项目,还有蓝鸟的承诺。

这是我的问题:我有一个函数,有时需要执行1个查询,有时2个并行查询,然后join两个查询的结果。 这里是一个伪代码(因为我使用咖啡文本,但是这是不相关的):

function(param) { // 1st query query1.exec // 2nd query, should be done in parallel with the 1st if (param) query2.exec // process requiring result from both queries callback() } 

我知道如何执行asynchronous并行任务,但我不明白如何执行与蓝鸟或mongoose承诺。

谢谢,

 function(param) { return Promise.all([ query1.exec(), param ? query2.exec() : null ]).nodeify(callback); }