javascript - 删除包含对象的数组 MongoDB

标签 javascript node.js mongodb

我正在从事 NodeJS 项目,我想删除包含对象的数组元素。

架构是:

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

谢谢。

最佳答案

使用这个:

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

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

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

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

关于javascript - 删除包含对象的数组 MongoDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34148165/

相关文章:

javascript - getElementById 具有用于 onclick 更改图像的动态 ID

node.js - 如何在 Node.js 中以非阻塞方式操作大型媒体文件

java - 如何在Java中使用DAO访问DB

javascript - 在运行时动态更改 setInterval 值

javascript - 在FCKeditor中插入到最后

javascript - PHP:表单防止多个选项卡。

node.js - 停止 dynamodb 中的重复条目

jquery - 从标签中提取 URL

java - Spring data mongodb 查询skip() 的工作方式不正常。

mongodb - 默认情况下,32 位服务器没有启用日记功能。如果您想要持久性,请使用 --journal。 - 无法在 Windows 7 32 位上启动 mongo