本文介绍在使用 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)⚠️ 注意事项:
err := sess.DB("mydb").C("mycollection").DropCollection()? 小结:清空集合首选 RemoveAll(nil),始终检查返回值与错误,慎用 DropCollection(),并在关键路径加入日志与防护机制。
立即
学习“go语言免费学习笔记(深入)”;