如何删除猫鼬中的Many

Posted

技术标签:

【中文标题】如何删除猫鼬中的Many【英文标题】:How to deleteMany in mongoose 【发布时间】: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 , );

谢谢!

【问题讨论】:

【参考方案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' );

【讨论】:

以上是关于如何删除猫鼬中的Many的主要内容,如果未能解决你的问题,请参考以下文章

删除猫鼬中的评论父母

从猫鼬中的数组中删除元素

如何在猫鼬中进行原始 mongodb 操作?

如何在猫鼬中进行原始 mongodb 操作?

在猫鼬中删除子文档

有没有其他方法可以在给定时间后删除猫鼬中的数据