不要认为这是可能的,但想要检查。
如果我有以下文件:
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个回调,然后我发送回复。
答案 0 :(得分:0)
我所做的所有更新都是一次一个,但对我来说最好的是它们是同步的。 =)
您似乎可以使用mongoimport工具批量加载:http://docs.mongodb.org/manual/reference/mongoimport/#cmdoption-mongoimport--upsertFields。你可以这样做批量翻转。
否则我不相信你可以通过客户端在一个命令中完成它。