首页 > 解决方案 > 删除整个文档以匹配对象数组中的objectId - MongoDB

问题描述

我的文档结构在 MongoDB 中如下所示:-

{
_id : "7464bbuiecdhbjdje"
client : "MJMK"
users : [
   {_id : "1234" , name : "first user"} 
 ]
}

我想删除整个文档以进行匹配users._id。在这种情况下,对于具有 的用户_id 1234,需要删除整个文档。我一直无法在 Node 中使用 mongoose 找到任何有效的功能。谢谢你的帮助。

标签: node.jsmongodbmongoose

解决方案


您想使用deleteMany

这将删除所有包含匹配查询的文档,在这种情况下是_id用户数组中匹配的用户。我们的查询将使用 Mongo 的点符号来访问数组,如下所示:

Model.deleteMany({ 'users._id': "1234" })

推荐阅读