2012-05-31 35 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

這個問題很舊,但是在單個查詢中刪除多個數組項目給我帶來了麻煩,在我的情況下,上面的方法正在解決,所以也許它會幫助其他人,謝謝。