mongodb:使用新的对象数组更新嵌入的对象数组

时间:2015-03-11 07:20:57

标签: arrays mongodb

架构示例:

_id: ObjectId
list: [{field: String}]

如果我想将一组对象添加到列表中 - 我该怎么做? 例如。我有这样的文件:

{
  _id: 1
  list: [
    {field: "value1"}, {field: "value2"}
  ]
}

我想在列表中添加这个数组:

[{field: "val3"}, {field: "val4"}, {field: "val5"}]

有办法吗?

2 个答案:

答案 0 :(得分:2)

您可以将$push运算符与$each一起使用,将所有项目添加到MongoDB中的数组中:

db.collection.update({_id: 1}, { $push: { list: { $each: [{field: "val3"}, {field: "val4"}, {field: "val5"}]}}});

答案 1 :(得分:0)

要将对象添加到数组中,可以使用push函数

var newFields  = [{field: "val3"}, {field: "val4"}, {field: "val5"}];
list.push(newFields);