返回顶部
首页 > 资讯 > 精选 >如何使用atlas在go中连接mongodb?
  • 128
分享到

如何使用atlas在go中连接mongodb?

go语言 2024-02-09 21:02:53 128人浏览 安东尼
摘要

PHP小编苹果将为你介绍如何在Go语言中使用Atlas连接mongoDB。Atlas是MongoDB官方的云托管服务,提供了可靠的分布式数据库解决方案。通过Atlas,你可以轻松地在G

PHP小编苹果将为你介绍如何在Go语言中使用Atlas连接mongoDB。Atlas是MongoDB官方的云托管服务,提供了可靠的分布式数据库解决方案。通过Atlas,你可以轻松地在Go语言中连接MongoDB,并进行数据的读写操作。下面将为你详细介绍具体的步骤和代码实现,让你更好地掌握在Go语言中使用Atlas连接MongoDB的技巧。跟着小编一起来学习吧!

问题内容

我在连接到 mongodb 时遇到服务器选择超时问题。如有任何帮助,我们将不胜感激。


selection error: server selection timeout, current topology: { type:
replicasetnoprimary, servers: [{ addr:
ac-pjyudwq-shard-00-01.1bnb2bm.mongodb.net:27017, type: unknown, last
error: dial tcp 3.6.207.111:27017: i/o timeout }, { addr:
ac-pjyudwq-shard-00-00.1bnb2bm.mongodb.net:27017, type: unknown, last
error: dial tcp 3.7.150.83:27017: i/o timeout }, { addr:
ac-pjyudwq-shard-00-02.1bnb2bm.mongodb.net:27017, type: unknown, last
error: dial tcp 3.7.137.42:27017: i/o timeout }, ] } exit status 1

我用于连接的代码

const MONGOURL = "mongodb+srv://sai:[email protected]/?retryWrites=true&w=majority"

var collection *mongo.Collection

func init() {
    fmt.Println("in the init function") var databasename string = "GOapi"
    var collectionname string = "Movies"
    client, err: = mongo.Connect(context.TODO(), options.Client().ApplyURI(MONGOURL)) if err != nil {
        fmt.Println("unable to get mongo connection ") log.Fatal(err)
    }
    collection = ( * mongo.Collection)(client.Database(databasename).Collection(collectionname)) fmt.Println("sucessfully collection is created ") doc: = Movie {
        Name: "rrr",
        Watched: false,
        Rating: 9,
        Id: "12121"
    }
    result, err: = collection.InsertOne(context.Background(), doc) if err != nil {
        log.Fatal("hey unable to insert one ", err)
    }
    fmt.Println("sucessfully added : ", result.InsertedID)

    // mongo.Connect()`your text`
}

解决方法

我在 aws 上托管我的测试 atlas 集群,因此我希望拥有与 aws 流程类似的凭证管理。从 aws 凭证页面:

默认提供程序链按以下顺序查找凭据:

  1. 环境变量。
  2. 共享凭据文件。
  3. 如果您的应用程序在 amazon ec2 实例上运行,则为 amazon ec2 的 iam 角色。

因此,我想为我的 atlas 示例的简单登录实现可验证的环境。下面的代码假设已在命令行中发出以下行

export mongo_pw='<您的atlas管理员用户密码>'

然后以下程序将验证您的连接

package main

import (
    "context"
    "fmt"
    "os"

    "go.mongodb.org/mongo-driver/mongo"
    "go.mongodb.org/mongo-driver/mongo/options"
)

var username = ""
var host1 = ""  // of the fORM foo.mongodb.net

func main() {

    ctx := context.TODO()

    pw, ok := os.LookupEnv("MONGO_PW")
    if !ok {
        fmt.Println("error: unable to find MONGO_PW in the environment")
        os.Exit(1)
    }
    mongoURI := fmt.Sprintf("mongodb+srv://%s:%s@%s", username, pw, host1)
    fmt.Println("connection string is:", mongoURI)

    // Set client options and connect
    clientOptions := options.Client().ApplyURI(mongoURI)
    client, err := mongo.Connect(ctx, clientOptions)
    if err != nil {
        fmt.Println(err)
        os.Exit(1)
    }

    err = client.Ping(ctx, nil)
    if err != nil {
        fmt.Println(err)
        os.Exit(1)
    }

    fmt.Println("Connected to MongoDB!")
}

从这里开始,我原来问题中链接的教程的其余部分将顺利进行。

以上就是如何使用atlas在go中连接mongodb?的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: 如何使用atlas在go中连接mongodb?

本文链接: https://lsjlt.com/news/562821.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何使用atlas在go中连接mongodb?
    php小编苹果将为你介绍如何在Go语言中使用Atlas连接MongoDB。Atlas是MongoDB官方的云托管服务,提供了可靠的分布式数据库解决方案。通过Atlas,你可以轻松地在G...
    99+
    2024-02-09
    go语言
  • MongoDB Atlas 未与我的 golang 应用程序连接
    亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《MongoDB Atlas 未与我的 golang 应用程序连接》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋...
    99+
    2024-04-04
  • 怎么在Navicat中使用Premium连接mongodb
    怎么在Navicat中使用Premium连接mongodb?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。0 环境操作系统:win101 准备navicat15 破解CentOS...
    99+
    2023-06-07
  • 如何使用go连接clickhouse
    这篇文章主要介绍“如何使用go连接clickhouse”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何使用go连接clickhouse”文章能帮助大家解决问题。近段时间业务在一个局点测试click...
    99+
    2023-07-05
  • Node.js中如何连接mongodb
    这期内容当中小编将会给大家带来有关Node.js中如何连接mongodb,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。安装驱动安装命令cnpm install&...
    99+
    2024-04-02
  • node中如何使用Nest.js连接MongoDB数据库
    node中如何使用Nest.js连接MongoDB数据库,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在学习 Nest 与数据库进行连接时...
    99+
    2024-04-02
  • 如何在mongodb中查看当前连接数
    在mongodb中查看当前连接数的方法:1.启动mongodb;2.登录mongodb数据库;3.在数据库中执行“db.serverStatus().connections;”命令查看;具体步骤如下:首先,在命令行中启动mongodb服务;...
    99+
    2024-04-02
  • python如何连接mongodb
    python连接mongodb的方法:在python中可以使用pymongo模块连接mongodb数据库,首先需要建立一个shell脚本文件,使用“from pymongo import MongoClient”指令导入pymongo模块,...
    99+
    2024-04-02
  • cmd如何连接mongodb
    cmd连接mongodb的方法:1、需要将mongodb目录下的bin目录配置到系统的环境变量中;2、打开cmd窗口,切换到mongodb\bin目录下;3、输入“net start mongodb”命令测试mongodb服务端是否在运行;...
    99+
    2024-04-02
  • navicat如何连接mongodb
    navicat连接mongodb的方法:1、打开Navicat premium管理工具;2、点击左上角“连接”按钮,并选择“mongodb”选项;3、在弹出中输入连接名、数据库ip地址、端口号、数据库用户名及密码等信息;4、点击“测试连接”...
    99+
    2024-04-02
  • dbeaver如何连接mongodb
    要连接MongoDB数据库,可以使用DBeaver数据库工具进行操作。以下是连接MongoDB数据库的步骤: 打开DBeaver...
    99+
    2024-04-10
    mongodb dbeaver
  • Android中如何使用Atlas框架
    本篇文章为大家展示了Android中如何使用Atlas框架,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。  Atlas是什么  Atlas是一个Android客户端容器框架,主要提供了组件化、动态性...
    99+
    2023-06-02
  • 如何在mongodb中使用driver
    如何在mongodb中使用driver?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。MongoDB 是一个基于分布式文件存储的数据库。由 ...
    99+
    2024-04-02
  • 如何在 Go 中正确地关闭 WebSocket 连接
    随着 WebSocket 技术的广泛应用,越来越多的程序员开始使用 Go 语言来实现 WebSocket 功能。在实现 WebSocket 功能的过程中,程序员往往会面临一个重要问题,即如何在 Go 语言代码中正确地关闭 WebSocket...
    99+
    2023-05-14
  • 怎么使用Node连接mongodb
    本篇内容主要讲解“怎么使用Node连接mongodb”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Node连接mongodb”吧!Mongoose 是一个 Node.js 包,提供了一个...
    99+
    2023-07-05
  • SpringBoot中使用MongoDB的连接池配置
    目录引入依赖 配置文件 配置文件映射为JavaBean 覆盖MongoDbFactory MongoDB测试 创建数据实体 创建Dao接口及实现 编写测试代码 在SpringBoot...
    99+
    2024-04-02
  • 在Ubuntu 19.10中怎么利用mongoose连接mongoDB
    本篇文章为大家展示了在Ubuntu 19.10中怎么利用mongoose连接mongoDB,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Mongoose是一个建立在MongoDB驱动之上的ODM(对...
    99+
    2023-06-05
  • 如何在 JavaScript 中使用 Go 的数组接口?
    在本文中,我们将探讨如何在 JavaScript 中使用 Go 的数组接口。Go 是一种强类型、静态编译语言,其数组接口非常实用。尽管 JavaScript 是一种动态类型的解释性语言,但通过一些技巧和技术,我们可以利用 Go 的数组接口...
    99+
    2023-07-01
    数组 javascript 接口
  • 如何在Linux中使用Go编写Shell接口?
    Shell是Linux系统中非常重要的一个部分,它是用户与操作系统之间的桥梁,可以通过Shell来执行各种命令和操作。而Go语言是一门非常流行的编程语言,它可以用来编写高效的系统程序。在本文中,我们将介绍如何使用Go语言来编写Shell接...
    99+
    2023-10-21
    shell 接口 linux
  • 如何在Flask中使用SQLAlchemy连接数据库
    这篇文章将为大家详细讲解有关如何在Flask中使用SQLAlchemy连接数据库,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、连接mysql在 Flask-SQLAlchemy 中,数据...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作