我想更新一条记录,并且我已经在mongodb中知道了它的_id。我遵循了这个:MongoDB$集没有更新记录
$idVal ="some value";
$new_data =array('$set'=> array("Domain"=>$domain),
array("author"=>$author),array("title"=>$title));
$collectionList->update(array("_id"=>$idVal), $new_data);
错误消息为错误消息127.0.0.1:27017:未知修饰符:0
我的查询出了什么问题?提前感谢!
用任意数字设置$idVal并尝试。。
示例:
$idVal =123456;
$new_data =array('$set'=> array("Domain"=>$domain),
array("author"=>$author),array("title"=>$title));
$collectionList->update(array("_id"=>$idVal), $new_data);
您指定了错误的更新数据。如果你仔细观察$new_data
数组,你会发现它是一个有3个键的数组:
$new_data = array(
'$set' => array("Domain"=>$domain),
0 => array("author"=>$author),
1 => array("title"=>$title)
);
这就是为什么会出现错误"未知修饰符:0",因为0不是mongodb更新运算符。
在您的情况下,$new_data
阵列应该是:
$new_data = array(
'$set' => array(
"Domain"=>$domain,
"author"=>$author,
"title"=>$title
)
);