我想更新一条记录,我已经在mongodb中知道了它的_id。我遵循了这个:MongoDB $set not updating record
$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
我的查询有什么问题?提前谢谢你!
答案 0 :(得分:0)
使用任意数字设置$ idVal并尝试..
示例:
$idVal =123456;
$new_data =array('$set'=> array("Domain"=>$domain),
array("author"=>$author),array("title"=>$title));
$collectionList->update(array("_id"=>$idVal), $new_data);
答案 1 :(得分:0)
您指定了错误的更新数据。如果仔细查看$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
)
);