使用不同的值更新多个文档

时间:2013-03-27 19:41:48

标签: node.js mongodb mongoose

不要认为这是可能的,但想要检查。

如果我有以下文件:

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

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

我希望客户端能够在同一个更新请求中将两个文档传递给我。在这种情况下,可以为两个文档添加一个地址。

有没有办法可以向mongo发送一个更新语句,以便更新两个名称为值的文档?

即。来自客户:

doc1 : {
  _id: 1,
  name: 'John Smith',
  age: 20,
  address: '123 Street'
}

doc2 : {
  _id: 2,
  name: 'Jane Smith',
  age: 22,
  address: '456 Way'
}

目前,我正在迭代这些值并一次更新一个值。问题是mongoose / mongodb更新是异步的,所以我无法可靠地告诉客户端我更新了每个结果,直到所有更新回调都被触发。我有一个计数器,以确保我收到N个回调,然后我发送回复。

1 个答案:

答案 0 :(得分:0)

我所做的所有更新都是一次一个,但对我来说最好的是它们是同步的。 =)

您似乎可以使用mongoimport工具批量加载:http://docs.mongodb.org/manual/reference/mongoimport/#cmdoption-mongoimport--upsertFields。你可以这样做批量翻转。

否则我不相信你可以通过客户端在一个命令中完成它。

相关问题