// mongodbAuth project main.go
package main
import (
"fmt"
"os"
"gopkg.in/mgo.v2"
)
func main() {
fmt.Println("Hello World!")
session := InitMongoSession()
myDB := session.DB("config")
collects, err := myDB.CollectionNames()
if err != nil {
fmt.Println("CollectionNames-error:", err)
os.Exit(0)
}
fmt.Println(collects)
}
func InitMongoSession() *mgo.Session {
mHost := "127.0.0.1"
mPort := "27017"
//mDBName := "config" //你要连接的表,也可以后面再选,都行
mUsername := "admin" //mongodb的账号
mPassword := "12345" //mongodb的密码
session, err := mgo.Dial(mHost + ":" + mPort)
if err != nil {
fmt.Println("mgo.Dial-error:", err)
os.Exit(0)
}
session.SetMode(mgo.Eventual, true)
myDB := session.DB("admin") //这里的关键是连接mongodb后,选择admin数据库,然后登录,确保账号密码无误之后,该连接就一直能用了
//出现server returned error on SASL authentication step: Authentication failed. 这个错也是因为没有在admin数据库下登录
err = myDB.Login(mUsername, mPassword)
if err != nil {
fmt.Println("Login-error:", err)
os.Exit(0)
}
//myDB = session.DB(mDBName) //如果要在这里就选择数据库,这个myDB可以定义为全局变量
session.SetPoolLimit(10)
return session
}
golang的mgo库带账号密码连接mongodb
原创
©著作权归作者所有:来自51CTO博客作者wx59129d39de499的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:golang mysql连接池
下一篇:golang 实现Bit数组
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章