2012-05-31 33 views
0

好是有一个快速的方法来去除follwoing虽然PHP的MongoDBMongoDB中删除子阵列

这里是我们的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" 
} 

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

回答

1

这里是蒙戈命令删除的项目,给予其条码:

db.collection.update({会话: '6266262626'},{$拉:{产品:{条码: '8544122'}}})

如果你想删除的产品阵列多个项目,给予条形码的数组:

db.collection.update({会话: '6266262626' },{$ pull:{products:{barcode:{$ i N:[ '27788822', '8544122']}}}})

我不知道的PHP相当于这些命令的,但这里是使用$拉动和PHP相关的问题,这可能有助于:

MongoDB pull array element from a collection

这个问题很旧,但是在单个查询中删除多个数组项目给我带来了麻烦,在我的情况下,上面的方法正在解决,所以也许它会帮助其他人,谢谢。