代码之家  ›  专栏  ›  技术社区  ›  Maksim Nesterenko

mongodb:使用新的对象数组更新嵌入的对象数组[重复]

  •  -1
  • Maksim Nesterenko  · 技术社区  · 11 年前

    架构示例:

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

    若我想将一个对象数组添加到列表中,我该怎么做?
    E、 g.我有如下文件:

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

    我想将此数组添加到列表中:

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

    有办法吗?

    2 回复  |  直到 11 年前
        1
  •  2
  •   vladzam    11 年前

    您可以使用 $push 运算符与 $each 要将所有项目添加到MongoDB中的数组,请执行以下操作:

    db.collection.update({_id: 1}, { $push: { list: { $each: [{field: "val3"}, {field: "val4"}, {field: "val5"}]}}});
    
        2
  •  0
  •   codeMan    11 年前

    要将对象添加到阵列中,可以使用 push 作用

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