在mongodb php中添加嵌套数组中的新元素

时间:2015-08-14 04:14:02

标签: php mongodb

我想在数组appusergoogleid中添加一个新元素。但我收到错误,我在数组中添加对象。

$id=array("id"=>$appusergoogleid);

$collection->update(array("appuseremail"=>$appuseremail),array('$push' => array('appusergoogleid'=>$id)));

这是我插入的json

 { "_id" : ObjectId("55cc982946449835298b4567"), "appuserfirstname" : "demo", "appuserlastname" : " appuserlastname", "appusermiddlename" : "xyz", "appuseremail" : "abc@gmail.com", "follows" : "1", "appusergoogleid" : { "id" : "wemhjgh" }, "usercreationdate" : ISODate("2015-08-13T18:44:17Z"), "status" : "0" }

我希望每当我在appusergoogleid中添加内容时,它都会在那里创建一个数组而不是对象。

1 个答案:

答案 0 :(得分:0)

$filter = array('_id'=>$id));
$update = array('$addToSet'=>array('done_by'=>'2'));
$q->update($filter,$update);

当您需要更新时,请使用$addToSet,以避免重复插入 导致出现多个条目。