我们怎样才能删除mongodb中子数组中的项?

时间:2013-04-21 18:24:18

标签: php mongodb

我的用户文档结构如下:

{
"_id" : ObjectId("5173b10fd0aa9af00d06395c"),
"customer_id" : 1,
"customer_fullname" : "Douglas E. Kelly",
"customer_email" : "1@1.com",
"customer_cityid" : "1",
"customer_selections" : [15, 952, 17347, 343102, 20380, 51757, 235961, 119824, 134011,   168251, 297596, 175792, 196010, 210349, 226945, 250102, 274064, 328834, 354893, 472868,  555878]
}

所以我想删除“客户选择”中的数字/项目。我们怎么做到这一点?

更新 我正在使用此查询。但它没有删除数字

  $response=$collection->update(array('customer_id' =>1), array('$pull' => array('customer_selections'=>$selectedcompanyid)));

的var_dump($响应);

 array(5) { ["updatedExisting"]=> bool(true) ["n"]=> int(1) ["connectionId"]=> int(3) ["err"]=> NULL ["ok"]=> float(1) }

1 个答案:

答案 0 :(得分:2)

使用$ pull

http://docs.mongodb.org/manual/reference/operator/pull/

db.yourColl.update( { id: ObjectId("5173b10fd0aa9af00d06395c") }, { $pull: { customer_selections: 952 } } )