MongoDB
小于 1 分钟componentmongo
概述
mgo
是基于官方 MongoDB Go Driver 简单封装的库。
MongoDB 配置
在 configs
目录下的 YAML 配置文件中启用 MongoDB 支持:
# database setting
database:
driver: "mongodb"
mongodb:
# dsn format, <username>:<password>@<hostname1>:<port1>[,<hostname2>:<port2>,......]/<db>?[k=v& ......]
dsn: "root:123456@192.168.3.37:27017/account?connectTimeoutMS=15000"
MongoDB 初始化
import "github.com/go-dev-frame/sponge/pkg/mgo"
// dsn document: https://www.mongodb.com/docs/manual/reference/connection-string/
// case 1: specify options in dsn
db, err := mgo.Init("mongodb://root:123456@192.168.3.37:27017/account?socketTimeoutMS=30000&maxPoolSize=100&minPoolSize=1&maxConnIdleTimeMS=300000")
// case 2: specify options in code
db, err := mgo.Init("mongodb://root:123456@192.168.3.37:27017/account",
mgo.WithOption().SetMaxPoolSize(100),
mgo.WithOption().SetMinPoolSize(1),
mgo.WithOption().SetMaxConnIdleTime(5*time.Minute),
mgo.WithOption().SetSocketTimeout(30*time.Second),
)
// close mongodb
defer mgo.Close(db)