zoukankan      html  css  js  c++  java
  • golang的mgo库带账号密码连接mongodb

    // 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
    }
  • 相关阅读:
    maven 执行mvn package/clean命令出错
    IDEA
    贝叶斯
    python基础之python基本数据类型
    python基础(一)python数据类型,条件,循环
    ...
    读取70开头的xml,gbk转成utf-8
    CSS实现多个Div等高,类似表格布局
    JBOSS 5 session时间配置
    padding
  • 原文地址:https://www.cnblogs.com/sunlong88/p/13386568.html
Copyright © 2011-2022 走看看