点击上方蓝色“ Go语言中文网 ”关注我们, 领全套Go资料 ,每天学习 Go 语言
最近,七牛 CDN 研发团队开源了Qmgo[1] - Go 语言的 MongoDB driver,它基于Mongo 官方 driver[2]实现,但是有着更好的易用性,设计上参考了老牌的 driver Mgo[3] (比如 Mgo 的链式调用)。
背景
做 Qmgo 的初衷,来自于使用 MongoDB 的 gopher 们共同的困扰,在 MongoDB 的 Go 官方 driver 成型前(v1.0.0 发布在 2019 年 3 月),一直是 Mgo 一统江湖,出色的接口设计让其非常流行。七牛做为最早使用 Go 的公司之一,自然也是 Mgo 的深度用户。
但是 Mgo 已经在 3 年前不再维护,bug 不修复,MongoDB 的新特性自然也无法支持,而官方 driver 的接口设计是出名的不易用。
这样的背景下,基于满足下面的需求,Qmgo 诞生了
- 想要 MongoDB 新特性
- 想要更稳定的 driver
- 想要 Mgo 出色的接口设计
- 想要从 Mgo 迁移到 Qmgo,代码改动最小
下面,简单介绍一下 Qmgo 的特点,详情可以点击查看:Qmgo[4]
好用在哪里?
举一个多文件查找、sort
和limit
的例子, 说明qmgo
和mgo
的相似,以及对go.mongodb.org/mongo-driver
的改进
官方Driver
需要这样实现
// go.mongodb.org/mongo-driver
//