如何在更新文档时插入数组字段(全新)(MongoDB)

时间:2017-06-26 17:19:01

标签: mongodb

我有一个像这样的TEST集合:

Route::get('/{user}', 'v1\UserController@find')->middleware('jwt_auth');

现在我正在尝试在更新期间插入另一个数组字段。例如查询是:

{ 
    "_id" : 1.0, 
    "tags" : [
        "technology"
    ]
}

期待收藏:

db.TEST.update(
   { _id: 1.0 },
   { $set:
      {
        "musings.0.rating": 2
      }
   }
)

但它会更新它,其中 musings 被添加为常规字段而不是数组字段:

{ 
    "_id" : 1.0, 
    "tags" : [
        "technology"
    ],
    "musings" : [
         {
            "ratings": 2
         }
    ]
}

1 个答案:

答案 0 :(得分:0)

您应该为数组使用特殊的更新运算符。

db.TEST.update({
  id: "1.0",
  $push: {
    musings: {
      ratings: 2
    }
  }
})

$push运算符将元素追加到数组。如果数组字段不存在,则创建它。

以下是数组更新运算符的详细信息: https://docs.mongodb.com/manual/reference/operator/update-array/