贝利信息

如何使用 Golang(mgo.v2)清空 MongoDB 集合中的所有文档

日期:2026-01-05 00:00 / 作者:碧海醫心

本文介绍在使用 mgo.v2 驱动时,如何安全、高效地清空 mongodb 集合中全部文档,重点讲解 `removeall(nil)` 的正确用法、错误处理及生产环境注意事项。

在 MongoDB 原生 Shell 中,我们习惯用 db.mycollection.remove({}) 清空集合;而在 Go 中使用 gopkg.in/mgo.v2 时,对应的操作是调用 RemoveAll() 方法,并传入 nil 作为选择器参数——这等价于匹配所有文档。

✅ 正确写法如下:

info, err := sess.DB("mydb").C("mycollection").RemoveAll(nil)
if err != nil {
    log.Fatal("删除失败:", err)
}
log.Printf("已成功删除 %d 个文档", info.Removed)

⚠️ 注意事项:

? 小结:清空集合首选 RemoveAll(nil),始终检查返回值与错误,慎用 DropCollection(),并在关键路径加入日志与防护机制。

立即学习“go语言免费学习笔记(深入)”;