MongoDB向数组的每个元素添加新字段
我有一个mongo集合MongoDB向数组的每个元素添加新字段,mongodb,mongo-shell,Mongodb,Mongo Shell,我有一个mongo集合myCollection,具有以下结构: { "_id" : ObjectId("xxxxxxx"), "name" : "name1", "address" : "address1", "list" : [ { "field1" : true, "field2&qu
myCollection
,具有以下结构:
{ "_id" : ObjectId("xxxxxxx"),
"name" : "name1",
"address" : "address1",
"list" : [
{ "field1" : true,
"field2" : false
},
{ "field1" : true,
"field2" : false
}]
},
...
,
{ "_id" : ObjectId("zzzzzzzzz"),
"name" : "name100",
"address" : "address100",
"list" : [
{ "field1" : true,
"field2" : false
},
{ "field1" : true,
"field2" : true
}]
}
对于集合的每个文档,我想为数组列表的每个子元素创建一个默认值为false的新字段(field3
)
预期产出:
{ "_id" : ObjectId("xxxxxxx"),
"name" : "name1",
"address" : "address1",
"list" : [
{ "field1" : true,
"field2" : false,
"field3" : false
},
{ "field1" : true,
"field2" : false,
"field3" : false
}]
},
...
,
{ "_id" : ObjectId("zzzzzzzzz"),
"name" : "name100",
"address" : "address100",
"list" : [
{ "field1" : true,
"field2" : false,
"field3" : false
},
{ "field1" : true,
"field2" : true,
"field3" : false
}]
}
您可以使用$addFields
添加更多字段
db.collection.aggregate([
{
$addFields: {
"list.fields3": false
}
}
])
正在工作您是否尝试过使用$map
更新?