使用php更新mongodb中的记录

时间:2015-02-07 09:25:45

标签: php mongodb

我想更新一条记录,我已经在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

我的查询有什么问题?提前谢谢你!

2 个答案:

答案 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
    )
);