Php 是否更新MongoDB中的嵌套参数?

Php 是否更新MongoDB中的嵌套参数?,php,mongodb,Php,Mongodb,我尝试更新文档MongoDb中的嵌套参数: $this->collection->update( ["prototype_id" => $id], ["$set" => ["parameters" => $newdata]], ["upsert" => true, "multiple" => true]); 结果我得到一个错误: 不允许使用零长度键,是否使用带双引号的$ 其中,$newdata是: array:1 [ "5

我尝试更新文档MongoDb中的嵌套参数:

    $this->collection->update(
   ["prototype_id" => $id],
   ["$set" => ["parameters" => $newdata]],
   ["upsert" => true, "multiple" => true]);
结果我得到一个错误:

不允许使用零长度键,是否使用带双引号的$

其中,
$newdata
是:

array:1 [
  "5920d086470e6cb30e3c986c" => array:1 [
    "Acceleration" => "2"
  ]
]
用于在嵌入文档中添加/覆盖字段

差不多

$parameter_id=“5920d086470e6cb30e3c986c”

['$set'=>[“参数”。$parameter_id=>[“加速度”=>“2”]]


或者,将
参数定义为嵌入式数组,您可以
$push
插入整个嵌入式文档。

您的$id值是多少,$set valuePhp试图将它认为是变量的内容插入为
“$set”
。使用单引号传递字符串literal
'$set'
它可以工作,但此查询会在文档中再次插入新参数,而不是更新我是否正确理解,如果插入的数据
$v
不存在,则此查询会尝试在
参数中插入数据?我只尝试添加文档中不存在的数据