mongoDB删除子数组


mongoDB remove sub-array

好的,有没有一种快速的方法可以删除以下内容,尽管 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"
}

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

这里有一个 mongo 命令来删除该项目,给定其条形码:

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

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

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

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

MongoDB从集合中拉取数组元素

这个问题已经很老了,但是在单个查询中删除多个数组项目今天给我带来了麻烦,就我而言,上述内容正在解决,所以也许它会帮助其他人,谢谢。