我有一个带有嵌套聚合的文档,我想将所有属性全部设置为true。我已经尝试过使用$ set的几种方法,但是无法更新它。 如何实现?
{
"_id" : ObjectId("5b4347734e69052e544da67e"),
"providerId" : ObjectId("5b4242b9d8ff1b0020daab34"),
"aggregations" : [
{
"startTime" : "2012-01-01T00:00:00Z",
"endTime" : "2012-03-01T00:00:00Z",
"quantity" : 0,
"full" : false
},
{
"startTime" : "2012-01-01T00:00:00Z",
"endTime" : "2012-03-01T00:00:00Z",
"quantity" : 0,
"full" : false
}
],
"__v" : 0
}
答案 0 :(得分:0)
您可以尝试使用$[] The all positional
运算符来更新数组中的多个文档
db.collection.update(
{ },
{ "$set": { "aggregations.$[].full": true }}
)
,如果您想增加
db.collection.update(
{ "aggregations.full": false },
{ "$inc": { "aggregations.$.quantity": 2 }}
)