我有一个像这样的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
}
]
}
答案 0 :(得分:0)
您应该为数组使用特殊的更新运算符。
db.TEST.update({
id: "1.0",
$push: {
musings: {
ratings: 2
}
}
})
$push
运算符将元素追加到数组。如果数组字段不存在,则创建它。
以下是数组更新运算符的详细信息: https://docs.mongodb.com/manual/reference/operator/update-array/