使用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)

2 years ago

用任意数字设置$ idVal并尝试..

例:

$idVal =123456;

$new_data =array('$set'=> array("Domain"=>$domain), 
array("author"=>$author),array("title"=>$title));

$collectionList->update(array("_id"=>$idVal), $new_data);

2 years ago

您指定了错误的更新数据 . 如果你仔细看看 $new_data 数组,你会发现它是一个包含3个键的数组:

$new_data = array(
    '$set' => array("Domain"=>$domain),
    0 => array("author"=>$author),
    1 => array("title"=>$title)
);

's why you'得到了错误"Unknown modifier: 0",因为0不是mongodb更新运算符 .

在你的情况下 $new_data 数组应该是:

$new_data = array(
    '$set' => array(
        "Domain"=>$domain, 
        "author"=>$author,
        "title"=>$title
    )
);