执行对Mongodb的多次调用,然后等待它们全部返回

时间:2013-03-28 14:51:43

标签: node.js mongoose

因此,在发布其他一些问题并进行一些研究后,看起来似乎不可能在同一个mongodb调用中更新具有不同数据的多个文档。

doc1 : {
  _id: 1,
  name: 'John Smith'
}

doc2 : {
  _id: 2,
  name: 'Jane Smith'
}

因此,如果客户端将两个文档都传递给服务器,则添加一个age字段,并希望在更新两者时从服务器返回响应,我必须等待两个更新回调返回。

根本没有什么大不了的,因为那里有一些好的异步模块,比如Step和Async。但是我已经使用了Mongoose。我看到猫鼬有承诺。看看文档我不认为这是可能的,但可能是我不明白。

使用mongoose我可以向mongo提交N个更新,并知道所有N都已完成,因此我可以回复客户端。当然没有反击(因为这就是我已经在做的事情)。

谢谢!

2 个答案:

答案 0 :(得分:1)

我不相信,而是使用异步(或可能是步骤,我不熟悉)多次运行多个查询/查询。

答案 1 :(得分:0)

正如你所说,你可以使用承诺。我自己没有尝试过这样做,但看起来您可以使用Promise.then,但这意味着您将对查询进行排序,而不是像现在一样立即提交所有查询。

链接:http://mongoosejs.com/docs/api.html#promise_Promise-then

相关问题