如何更新MongoDb文档中的内部数组

时间:2013-11-15 23:31:01

标签: php mongodb

我正在尝试将php数组添加到MongoDB文档

{
    "_id" : ObjectId("51b043e1d07a4e9e06000004"),
    "comments" : {
        "count" : 0,
        "array" : []
    }
}

数组:

$array = array(
       "user_id" => $comment["user_id"],
       "text" => $comment["text"]
);

使用此:

$this->database->Collection->update(array("_id" => new MongoId($comment["object_id"])), array('$push' => $array);

然而,它似乎没有用,我找不到原因。我还不太了解MongoDb ...谢谢

1 个答案:

答案 0 :(得分:1)

$push的值必须是另一个PHP数组,其中一个键用于命名要更新的数组字段,另一个值是要添加的元素。所以在这种情况下它将是:

$this->database->Collection->update(
    array("_id" => new MongoId($comment["object_id"])), 
    array('$push' => array("comments.array" => $array)));