gpt4 book ai didi

javascript - Mongoose 找到很多并更新所有

转载 作者:可可西里 更新时间:2023-11-01 10:19:13 25 4
gpt4 key购买 nike

我正在使用 Mongoose,需要根据一些计算更新许多文档。

如果我一个一个地查询这很容易,但是如果我有 50 个项目,我不想一个一个地查询和更新

我正在做的是策划一个查询以提取多个文档,这样我就可以遍历所有文档并进行更改。

但是,您不能像使用 findOne 那样对多个对象调用保存。这是我第一次使用 Mongoose,但在 Entity Framework 中,我可以编辑查询返回的结果并调用 saveChanges() 来更新每个已更改的项目

我想做这样的事情

item.find(query).exec(function(err, items) {
for (i in items) {
// change stuff
}
items.save(function (err) {
// saved
}
}

最佳答案

如果你使用 Promise 库,你可以这样做:

var Promise = require('bluebird');
var saveQuery=[];
item.find(query).exec(function(err, items) {
for (i in items) {
// change stuff
}
saveQuery.push(item.save()); // Write your save query
}
return Promise.all(saveQuery); // this will do your all save queries at once simultaneously.

关于javascript - Mongoose 找到很多并更新所有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41120429/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com