【问题标题】:How to deleteMany in mongoose如何删除猫鼬中的Many
【发布时间】:2021-07-08 00:03:39
【问题描述】:

我有一个这样的数据库:

User {
 id: 12323,
 name: asdasd,
 products: [{ id: 1, name: asdasdl }, {id: 2, name: bfcvc}]
}

对于deleteMany,我想删除所有产品名称为'asdasdl'。

我该怎么做?

我有这段代码,但它不起作用:

await User.deleteMany({'name': { '$in': User.products }}, {});

谢谢!

【问题讨论】:

    标签: node.js mongoose apollo


    【解决方案1】:

    感谢您的回答。

    其实我不想删除用户,我想删除产品。因此,如果名称是“asdasdl”,请删除该产品。

    谢谢!

    【讨论】:

      【解决方案2】:

      通过更改查询参数,可以获取所有带有 products.name == 'asdasdl' 的文档,然后将其删除:

      await User.deleteMany({ 'products' : { 'name': 'asdasdl' }}); 
      

      请参阅deleteMany docs here 和 Mongo queries on arrays here

      【讨论】:

        【解决方案3】:

        你可以像这样使用$eq operator

        await User.deleteMany({ 'products.name': { $e: 'asdasdl' }});
        

        【讨论】:

          猜你喜欢
          • 2018-03-17
          • 2013-11-07
          • 2022-11-24
          • 2018-10-09
          • 2016-07-30
          • 2019-02-22
          • 1970-01-01
          • 2017-12-24
          • 2021-07-28
          相关资源
          最近更新 更多