Node.js 使用不同的值更新多个文档
不认为这是完全可能的,但想检查一下 如果我有以下文件:Node.js 使用不同的值更新多个文档,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,不认为这是完全可能的,但想检查一下 如果我有以下文件: doc1 : { _id: 1, name: 'John Smith', age: 20 } doc2 : { _id: 2, name: 'Jane Smith', age: 22 } 我希望客户端能够在同一个更新请求中向我传递两个文档。在这种情况下,可以在两个文档中添加一个地址 是否有一种方法可以将一条update语句发送到mongo,以便它使用名称值更新两个文档 即从客户处: doc1 : { _id:
doc1 : {
_id: 1,
name: 'John Smith',
age: 20
}
doc2 : {
_id: 2,
name: 'Jane Smith',
age: 22
}
我希望客户端能够在同一个更新请求中向我传递两个文档。在这种情况下,可以在两个文档中添加一个地址
是否有一种方法可以将一条update语句发送到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次回调,然后发送响应。我做的所有更新都是一次更新一次,但对我来说好的是它们是同步的。=) 您似乎可以使用mongoimport工具进行批量加载:。你可以用这种方法做大量的加料
否则,我不相信您可以通过客户端在一个命令中完成此操作。需要将其拆分为两个更新。查看库以了解改进回调计数器方法的方法。如果要对多个文档应用相同的更新,则可以使用
multi:true
标志进行更新。