mongoDB删除子数组

时间:2012-05-31 04:05:56

标签: php json mongodb

好的是有一种快速方法可以删除PHP mongodb

这是我们的mongoDB行

{
  "today":""
  "session": "6266262626",
  "products": [
    {
      "barcode": "27788822",
      "item": "village day ticket",
      "price": 1315,
      "qty": "3"
    },
    {
      "barcode": "8544122",
      "item": "village night ticket",
      "price": 1433,
      "qty": "1"
    }
  ]
}

我想删除产品

{
      "barcode": "8544122",
      "item": "village night ticket",
      "price": 1433,
      "qty": "1"
}

我知道如何更新,插入但无法弄清楚如何删除它。

2 个答案:

答案 0 :(得分:1)

这是一个mongo命令,用于删除项目,条件是:

db.collection.update({session:' 6266262626'},{$ pull:{products:{条码:' 8544122'}}})

如果要从products数组中删除多个项目,请给出一系列条形码:

db.collection.update({session:' 6266262626'},{$ pull:{产品:{条码:{$ in:[' 27788822',' 8544122']}}}})

我不知道这些命令的PHP等价物,但这是一个使用$ pull和PHP的相关问题,这可能有所帮助:

MongoDB pull array element from a collection

这个问题很老了,但是在一个查询中删除多个数组项目今天给我带来了麻烦,在我的情况下,上面的工作正在解决,所以也许它会帮助别人,谢谢。

答案 1 :(得分:-1)

阅读文档是你的朋友。使用位置运算符

http://www.mongodb.org/display/DOCS/Updating#Updating-The%24positionaloperator