你好,Stack溢出社区:),
我不知道是否真的可以在MongoDB中使用MongoDB或任何类似的方法更新文档来解决我的问题。我将尽我所能解释这个问题和我所做的努力。
{
"_id": "5fb812f7cd2b101374aa2bd8",
"orderId": 322,
"provider": "Barion Bistro"
},{
"_id": "5fb812f7cd2b101374aa2bd9",
"orderId": 400,
"provider": "Glacier Hotel"
},{
"_id": "5fb812f7cd2b101374aa2asd",
"orderId": 1212,
"provider": "HM Store"
},{
"_id": "5fb812f7cd2b101374aa2bbd",
"orderId": 322,
"provider": "Funky Town"
},{
"_id": "5fb812f7cd2b101374aa2bb2",
"orderId": 3223,
"provider": "Cocktails Bar"
} db.coupons.update({},
$set: {
orderId: 2
}
}, {
multi: true
})我在这个问题上已经被困了一个星期了,我不知道使用MongoDB更新是否可以解决这个问题。我尝试的是使用以下不起作用的查询,我想知道是否有人解决了与我类似的问题。查询如下:
var counter = 1;
db.coupons.update({
$set: { doc.counterId: counter },
{ multi: true }
}
).forEach(doc => {
counter = counter + 1
})希望有人能把我引向正确的方向。向你问好,彼得
更新11/21/2020
好吧,RLD是个传奇,他解决了!
发布于 2020-11-21 20:16:53
如果您正在使用最新的MongoDB,即版本>= 4.2,那么您可以使用forEach方法如下:
var counter=1;
db.coupons.find().forEach( function (d) {
db.coupons.updateOne({"_id":d._id},[{"$set":{"orderId": counter}}]);
counter++;
})https://stackoverflow.com/questions/64946795
复制相似问题