2015-12-08 65 views
1

我在一個項目oj NodeJS中工作,我想刪除一個包含objets的數組元素。刪除一個包含對象的數組MongoDB

的模式是:

{ 
 
    "products" : [ 
 
    { 
 
     "productid" : 1, 
 
     "name" : "product 1", 
 
     "price" : 200 
 
     
 
    }, 
 
    { 
 
     "productid" : 2, 
 
     "name" : "product 2", 
 
     "price" : 300 
 
     
 
    }, 
 
    { 
 
     "productid" : 3, 
 
     "name" : "product 3", 
 
     "price" : 350 
 
     
 
    }, 
 
    { 
 
     "productid" : 4, 
 
     "name" : "product 4", 
 
     "price" : 300 
 
     
 
    }, 
 
, 
 
    { 
 
     "productid" : 5, 
 
     "name" : "product 5", 
 
     "price" : 300 
 
     
 
    } 
 
    
 
    ] 
 
}

,我想刪除產品3,如何查詢是在MongoDB中? 「productid」屬性是關鍵,不重複它

謝謝。

回答

1

使用此:

變化collection名和{}根據自己的需要。

db.collection.update({}, { "$pull" : { "products" : { "productid" : 3 } } }); 

如果多個元素相匹配,然後使用多選項等

db.collection.update({}, { "$pull" : { "products" : { "productid" : 3 } } }, 
{ multi: true }); 
0
db.collection.update({<query>}, { "$pull" : { "products.productid" : 3 } }); 
相關問題