2013-11-15 5 views
0

Я пытаюсь добавить массив PHP в MongoDB документКак обновить внутренний массив в 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

Значение $push должно быть другим массивом PHP с ключом, который называет поле массива для обновления, и значение, которое элемент должен добавить. Таким образом, в этом случае это будет:

$this->database->Collection->update(
    array("_id" => new MongoId($comment["object_id"])), 
    array('$push' => array("comments.array" => $array))); 
Смежные вопросы