用php更新mongodb中的一条记录


Update a record in mongodb with php

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