> 백엔드 개발 > Golang > 업데이트된 `mongodb srv` URL 구문을 사용하여 Go에서 MongoDB Atlas에 연결하는 방법은 무엇입니까?

업데이트된 `mongodb srv` URL 구문을 사용하여 Go에서 MongoDB Atlas에 연결하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2024-12-07 15:21:13
원래의
934명이 탐색했습니다.

How to Connect to MongoDB Atlas from Go using the Updated `mongodb srv` URL Syntax?

새 URL 구문을 사용하여 Go에서 MongoDB Atlas에 연결

쿼리:

다음을 사용하여 MongoDB Atlas에 어떻게 연결합니까? 최신 버전의 Go에서 업데이트된 mongodb srv URL 구문 드라이버?

해결책:

이전에는 Go 드라이버가 MongoDB Atlas에 연결하기 위해 사용자 정의 URL 파서를 사용했습니다. 그러나 MongoDB 3.6에서는 기본 Go url.Parse 함수가 새 URL 형식을 구문 분석하는 데 사용됩니다.

package main

import (
    "context"
    "log"
    "time"

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

func main() {
    mongoURI := "mongodb+srv://admin:[email protected]/dbname?ssl=true&retryWrites=true"

    // Set a timeout for connection establishment.
    ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second)
    defer cancel()

    // Use mongo-go-driver to connect to Atlas.
    client, err := mongo.NewClient(options.Client().ApplyURI(mongoURI))
    if err != nil {
        log.Fatal(err)
    }
    if err = client.Connect(ctx); err != nil {
        log.Fatal(err)
    }
    defer client.Disconnect(ctx)

    // Now you can perform database operations as usual.
    database := client.Database("go")
    collection := database.Collection("atlas")
    err = collection.InsertOne(ctx, bson.M{"username": "testuser"})
    if err != nil {
        log.Fatal(err)
    }
}
로그인 후 복사

참고:

" 연결할 수 있는 서버가 없습니다" 오류가 발생하면 다음 사항을 확인하세요.

  • 유효한 MongoDB를 사용하고 있는지 확인하세요. 올바른 자격 증명이 포함된 Atlas 연결 URI.
  • MongoDB 3.6 이상과 호환되는 Go 드라이버를 사용하고 있습니다.

위 내용은 업데이트된 `mongodb srv` URL 구문을 사용하여 Go에서 MongoDB Atlas에 연결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿