MongoDB in PHP - How to insert elements into an array in a collection?

It should be easy, but I can’t figure it out ... Let's say I had a collection users, and this is the first item in the collection:

{ 
    "_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"
    }
] }

As with the PHP driver for MongoDB, I will then go over and add another "task" to the "tasks" array in this element in the collection

+3
source share
1 answer

Use the Mongo operation $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))
);
+12
source

All Articles