删除包含对象MongoDB的数组

时间:2015-12-08 04:42:43

标签: javascript node.js mongodb

我正在一个项目oj NodeJS工作,我想删除包含objets的数组元素。

架构是:



{
  "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"属性是关键,不重复

感谢。

2 个答案:

答案 0 :(得分:1)

使用此:

根据您的需要更改collection名称和{}

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

如果匹配多个元素,则使用多选项,如

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

答案 1 :(得分:0)

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