我尝试更新文档MongoDb中的嵌套参数:
$this->collection->update(
["prototype_id" => $id],
["$set" => ["parameters" => $newdata]],
["upsert" => true, "multiple" => true]);
结果我收到错误:
不允许使用零长度密钥,您是否使用带双引号的$?
$newdata
的位置:
array:1 [
"5920d086470e6cb30e3c986c" => array:1 [
"Acceleration" => "2"
]
]
答案 0 :(得分:0)
使用dot notation在嵌入文档中添加/覆盖字段。
像
这样的东西 $parameter_id = "5920d086470e6cb30e3c986c";
['$set' => ["parameters.".$parameter_id => ["Acceleration" => "2"]]];
或者,将parameters
定义为嵌入式数组,您可以$push
插入整个嵌入式文档。