MongoDB в PHP - Как вставить элементы в массив в коллекции? - PullRequest
4 голосов
/ 20 марта 2011

Это должно быть легко, но я не могу понять это ... Допустим, у меня была коллекция users, и это первый элемент в коллекции:

{ 
    "_id" : ObjectId("4d8653c027d02a6437bc89ca"), 
    "name" : "Oscar Godson", 
    "email" : "oscargodson@xxx.com", 
    "password" : "xxxxxx", 
    "tasks" : [
    {
        "task" : "pick up stuff",
        "comment" : "the one stuff over there"
    },
    {
        "task" : "do more stuff",
        "comment" : "lots and lots of stuff"
    }
] }

Как с драйвером PHP для MongoDB я мог бы тогда пойти и добавить еще одну «задачу» в массив «задач» в этом элементе в коллекции

1 Ответ

14 голосов
/ 20 марта 2011

Используйте операцию Монго $push:

$new_task = array(
  "task" => "do even more stuff",
  "comment" => "this is the new task added"
);
$collection->update(
  array("_id" => ObjectId("4d8653c027d02a6437bc89ca")), 
  array('$push' => array("tasks" => $new_task))
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...