首页/数据/NoSQL 速查/deleteOne / deleteMany 与清空集合
MongoDB99 条

deleteOne / deleteMany 与清空集合

按条件删除文档:deleteOne 删除首条匹配,deleteMany 删除全部匹配,drop() 直接删除整个集合(更快但索引一并消失)。

NoSQL 速查数据更新于 2026-10-12
deleteOne删除第一条匹配
deleteMany删除全部匹配
drop删除集合与索引(不可恢复)

示例

示例
db.sessions.deleteMany({ expireAt: { $lt: new Date() } })
db.tmp.drop()
deleteMany({}) 会清空集合但保留集合与索引,速度远慢于 drop;执行前确认集合名。

易错点

  • 删除释放的空间不会立即归还操作系统,碎片多时评估 compact 或迁移重建
  • 先用相同条件 find().count() 核对数量,再执行删除

数据来源与参考

  • MongoDB Manual: Delete Documents
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌