前言:前言混在第一篇了吧,最近搞项目用了mongo,因为mgo停更在了3.0时代,被迫用上了官方驱动。但这个驱动的设计延续了mongo在node上的理念,难用到必须吐槽。而go里面缺少了mongoose,没办法,只能开始在官方驱动的苦海里徜徉。鉴于国内外及官方的文档都少的可怜,在这里非系统的介绍下此驱动的基本用法。随着项目的推进,文档会逐渐完善,整体内容趋向于帮助新手简单使用mongo-go-driver,用法属于作者对驱动库的理解,不一定是最佳使用方式。若需要更深层次的理解,建议阅读源码。另外,对于文中不合时宜的地方,希望得到指正,以免对新人产生误导。
第一节:初始化与连接。
好像没太多内容,直接上源码:
var mg_order *mongo.Collection
func initDB(){
ctx, _ := context.WithTimeout(context.Background(), 10*time.Second)
client, err := mongo.Connect(ctx, options.Client().ApplyURI("mongodb://127.0.0.1:27017"))
if err != nil {
panic(err)
}
db := client.Database("dc")
mg_order=db.Collection("order")
}
mongo-go-driver在使用中必须带着context,上述代码就完成了数据库的连接,并初始化了一张名为order的表,后面可以直接用mg_order进行操作。
(打个小广告,对golang感兴趣的朋友欢迎进群,群号805574759,暗号csdn直接加入)