加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

如何在golang中连接mongodb 3.0

发布时间:2020-12-16 09:29:11 所属栏目:大数据 来源:网络整理
导读:当我将我的 mongodb服务器从2.6升级到3.0版时,它无法从golang使用mgo连接. 我在连接字符串中添加’authMechanism = SCRAM-SHA-1′,它仍然无法连接到服务器.我得到的错误是在构建期间未启用SASL支持(-tags sasl) 解决方法 我有类似的问题.令人误解的是,我发现
当我将我的 mongodb服务器从2.6升级到3.0版时,它无法从golang使用mgo连接.

我在连接字符串中添加’authMechanism = SCRAM-SHA-1′,它仍然无法连接到服务器.我得到的错误是在构建期间未启用SASL支持(-tags sasl)

解决方法

我有类似的问题.令人误解的是,我发现网络周围必须包含“labix.org/v2/mgo”软件包,尽管事实上在官方网站 http://labix.org/mgo(阅读时)它有更新和更新的信息,至少指向为我工作包“gopkg.in/mgo.v2”.

我希望这可以帮助我,因为我没有成功完成相同的步骤,然后我更改了包参考.
这段代码适用于我的情况:

package main

  import (
    "fmt"
    "time"

    "gopkg.in/mgo.v2"
  )

  //const MongoDb details
  const (
    hosts      = "ds026491.mongolab.com:26491"
    database   = "messagingdb"
    username   = "admin"
    password   = "youPassword"
    collection = "messages"
  )

  func main() {

    info := &mgo.DialInfo{
        Addrs:    []string{hosts},Timeout:  60 * time.Second,Database: database,Username: username,Password: password,}

    session,err1 := mgo.DialWithInfo(info)
    if err1 != nil {
        panic(err1)
    }

    col := session.DB(database).C(collection)

    count,err2 := col.Count()
    if err2 != nil {
        panic(err2)
    }
    fmt.Println(fmt.Sprintf("Messages count: %d",count))
  }

它也是在Github

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读