Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Mongoose updateMany,但每个都有不同的值_Javascript_Node.js_Mongodb_Mongoose - Fatal编程技术网

Javascript Mongoose updateMany,但每个都有不同的值

Javascript Mongoose updateMany,但每个都有不同的值,javascript,node.js,mongodb,mongoose,Javascript,Node.js,Mongodb,Mongoose,我有一个集合,我把所有用户放在其中,它有像id、姓名、密码、余额等字段。然后在代码中,我有一个带有id和余额更改的数组。我想做的是按照数组中给定的数量,用这些ID更新所有这些用户的余额 例如: 数据库中有三个文档: 1. id: 1, name: John, balance: 0 2. id: 2, name: Alice, balance: 100 3. id: 3, name: Alex, balance: 1000 数组: [ {id: 1, ba

我有一个集合,我把所有用户放在其中,它有像id、姓名、密码、余额等字段。然后在代码中,我有一个带有id和余额更改的数组。我想做的是按照数组中给定的数量,用这些ID更新所有这些用户的余额

例如:

数据库中有三个文档:

1. id: 1,
   name: John,
   balance: 0
2. id: 2,
   name: Alice,
   balance: 100
3. id: 3,
   name: Alex,
   balance: 1000
数组:

[
  {id: 1, balanceChange: 150},
  {id: 3, balanceChange: -500}
]
结果是约翰的余额是150,亚历克斯的余额是500。我考虑过async series和findOneAndUpdate,但我不知道这么多请求是否不太重。也许一次就可以做到?传递数组


提前感谢

您需要的。您可以通过
.collection
在mongoose模型上使用本机驱动程序方法。i、 e
Model.collection.bulkWrite(更新)
。其中,
updates
是一组
“updateOne”
文档。这里有许多答案显示了
.bulkWrite()
的用法。我只找到了一个带有findOneAndUpdate的答案,可能是使用了错误的短语进行搜索。谢谢你的回答,我来看看。谢谢