MongoDB向数组的每个元素添加新字段

MongoDB向数组的每个元素添加新字段,mongodb,mongo-shell,Mongodb,Mongo Shell,我有一个mongo集合myCollection,具有以下结构: { "_id" : ObjectId("xxxxxxx"), "name" : "name1", "address" : "address1", "list" : [ { "field1" : true, "field2&qu

我有一个mongo集合
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
更新?