【问题标题】:mongodb: update embedded array of objects with new array of objects [duplicate]mongodb:使用新的对象数组更新嵌入的对象数组[重复]
【发布时间】:2015-05-12 21:27:14
【问题描述】:

架构示例:

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

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

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

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

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

有办法吗?

【问题讨论】:

  • 你有什么尝试过的吗?

标签: arrays mongodb


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-23
      • 1970-01-01
      相关资源
      最近更新 更多