You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MongoDB deleteMany无法删除文档问题求助

问题原因及修复方案

核心问题

你调用deleteMany()时传入了数组作为查询条件,但MongoDB的deleteMany()方法要求第一个参数是单个查询文档对象,而非数组。这导致MongoDB无法正确解析查询规则,自然匹配不到任何目标文档。

修复后的查询语句

多个键值对条件默认就是逻辑与关系,无需显式声明$and,直接使用简化写法即可:

db.friendRequests.deleteMany({
  author: ObjectId("636a88de3e45346191cf4257"),
  friend_id: ObjectId("636faabb1861c5b8773f751e")
});

如果是复杂场景需要显式使用$and,也要保证外层是单个对象而非数组:

db.friendRequests.deleteMany({
  $and: [
    { author: ObjectId("636a88de3e45346191cf4257") },
    { friend_id: ObjectId("636faabb1861c5b8773f751e") }
  ]
});

验证说明

从你导出的文档来看,第三个文档完全符合查询条件:

{
  "_id": { "$oid": "637cc8e760709f87c46ad5a9" },
  "author": { "$oid": "636a88de3e45346191cf4257" },
  "friend_id": { "$oid": "636faabb1861c5b8773f751e" }
}

使用修复后的语句可以成功删除该文档。

内容的提问来源于stack exchange,提问作者Alms

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 11:45:43