0

好的,有没有一种快速的方法可以通过 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"
}

我知道如何更新和插入,但不知道如何删除它。

4

2 回答 2

1

这是一个删除项目的 mongo 命令,给定它的条形码:

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

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

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

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

MongoDB 从集合中提取数组元素

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

于 2015-02-19T05:42:37.940 回答
-3

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

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

于 2012-05-31T04:23:14.607 回答