golang操作mongodb

前言

自己基于mongo go官方驱动封装了一个简易的mongo操作库,使用上与gorm类似。

benchmark测试后相比官方驱动也差不多。不用考虑官方的各种options对象如何使用。

项目地址

mongo-plus,期待你的star🌟

快速开始

go get -u github.com/here-Leslie-Lau/mongo-plus/mongo

创建mongo连接

opts := []mongo.Option{
	// 要连接的数据库
	mongo.WithDatabase("test"),
	// 最大连接池数量
	mongo.WithMaxPoolSize(10),
	// 用户名
	mongo.WithUsername("your username"),
	// 密码
	mongo.WithPassword("your password"),
	// 连接url
	mongo.WithAddr("localhost:27017"),
}
conn, f := mongo.NewConn(opts...)
defer f()

实现collection接口

这一步是为了告诉程序你要操作哪个集合, 这里要操作的集合名为demo

type Demo struct{}

// Collection 实现mongo.Collection接口, 返回要操作的集合名
func (d *Demo) Collection() string {
	return "demo"
}

// 方法内获取collection对象
demo := &Demo{}
coll := conn.Collection(demo)

插入文档

coll.InsertOne(document)
coll.InsertMany(documents)

查询文档

// 查询name为leslie的单条文档
coll.Where("name", "leslie").FindOne(&document)
// 查询name为leslie的文档
coll.Where("name", "leslie").Find(&documents)
// 多条件查询
coll.Filter(map[string]interface{}{"name": "leslie", "age": 18}).FindOne(&document)

其余用法可以参考这些测试用例 ,之后会对文章进行补充

最后

现在该库处理v0.1版本,更详细的信息参考github,欢迎大家多多提建议(中肯或者不足都可以,每天都会进行更新)

也可以直接拉下代码:

git clone git@github.com:here-Leslie-Lau/mongo-plus.git

然后提个pr,感谢🙏

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值