개요
이 가이드 에서는 고 (Go) 운전자 사용하여 MongoDB Atlas 배포서버, MongoDB 인스턴스 또는 복제본 세트 에 연결하는 방법을 학습 수 있습니다.
MongoDB deployment 에 연결하려면 다음 두 가지가 필요합니다.
연결 문자열 이라고도 하는연결 URI는 고 (Go) 운전자 에 연결할 MongoDB deployment 알려줍니다.
MongoClient 객체 로, MongoDB deployment 에 대한 연결을 생성하고 작업을 수행합니다.
options.Client()
를 사용하여 MongoDB 에 연결된 동안 고 (Go) 운전자 작동하는 방식을 사용자 지정할 수 있습니다.
연결 URI
표준 연결 string 에는 다음 구성 요소가 포함됩니다.
구성 요소 | 설명 |
---|---|
| 필수 사항입니다. 표준 연결 형식의 문자열로 식별하는 접두사입니다. |
| 선택 사항. 인증 자격 자격 증명. 이를 포함하면 클라이언트 |
| 필수입니다. MongoDB가 실행 중인 호스트 및 선택적 포트 번호입니다. 포트 번호를 포함하지 않으면 드라이버는 기본 포트인 |
| 선택 사항. 연결 문자열 |
| 선택 사항. 연결별 옵션을 |
팁
Atlas 배포서버 대한 연결 문자열 조회 하려면 빠른 시작 가이드따르세요.
연결 문자열 생성에 대한 자세한 string 내용은 MongoDB Server 설명서에서 연결 문자열 참조하세요.
환경 변수
다음 코드를 사용하여 연결 문자열 환경 변수로 액세스 할 수 있습니다.
uri := os.Getenv("MONGODB_URI")
환경 변수를 정의하려면 GoDotEnv를 사용하면 됩니다.
프로젝트 루트의 .env
파일에 다음 애플리케이션 구성을 추가하고 자리 표시자를 배포서버의 연결 문자열 값으로 바꿉니다. 자세히 알아보려면 GoDotEnv 문서를 참조하세요.
MONGODB_URI=mongodb+srv://<db_username>:<db_password>@<cluster-url>?retryWrites=true&w=majority
MongoDB Atlas 에 연결할 클라이언트 만들기
MongoDB에 연결하려면 클라이언트를 만들어야 합니다. 클라이언트는 연결을 관리하고 데이터베이스 명령을 실행합니다.
ClientOptions
객체를 Connect()
생성자에 전달하여 연결 문자열과 기타 클라이언트 옵션을 사용하는 클라이언트를 만들 수 있습니다.
연결 URI를 지정하려면 새 ClientOptions
인스턴스 반환하는 ApplyURI()
메서드에 연결 URI를 전달합니다. 다른 옵션을 설정하다 하려면 옵션 패키지 에서 관련 헬퍼 메서드를 호출합니다.
팁
연결 풀로 클라이언트 재사용
연결 옵션에 대한 자세한 내용은 연결 옵션 섹션을 참조하세요. 클라이언트 생성에 대한 자세한 내용은 클라이언트 및 Connect()에 대한 API 문서를 참조하세요.
새 서버 버전으로 업그레이드할 때 호환성이 손상되는 변경을 방지하기 위해 Stable API 버전을 옵션으로 설정할 수 있습니다. Stable API 기능에 대해 자세히 알아보려면 Stable API 페이지를 참조하세요.
예시
다음 코드는 Atlas 연결 문자열 과 Stable API 버전을 사용하고, MongoDB 에 연결하고, 연결이 성공적인 했는지 확인하는 클라이언트 생성하는 방법을 보여줍니다.
// Connects to MongoDB and sets a Stable API version package main import ( "context" "fmt" "log" "os" "go.mongodb.org/mongo-driver/v2/bson" "go.mongodb.org/mongo-driver/v2/mongo" "go.mongodb.org/mongo-driver/v2/mongo/options" ) func main() { var uri string if uri = os.Getenv("MONGODB_URI"); uri == "" { log.Fatal("You must set your 'MONGODB_URI' environment variable. See\n\t https://mongodb.com/ko-kr/docs/drivers/go/current/usage-examples/") } // Uses the SetServerAPIOptions() method to set the Stable API version to 1 serverAPI := options.ServerAPI(options.ServerAPIVersion1) // Defines the options for the MongoDB client opts := options.Client().ApplyURI(uri).SetServerAPIOptions(serverAPI) // Creates a new client and connects to the server client, err := mongo.Connect(opts) if err != nil { panic(err) } defer func() { if err = client.Disconnect(context.TODO()); err != nil { panic(err) } }() // Sends a ping to confirm a successful connection var result bson.M if err := client.Database("admin").RunCommand(context.TODO(), bson.D{{"ping", 1}}).Decode(&result); err != nil { panic(err) } fmt.Println("Pinged your deployment. You successfully connected to MongoDB!") }
추가 리소스
이 가이드의 개념에 대한 자세한 내용은 다음 문서를 참조하세요.
MongoDB Server 매뉴얼의 연결 문자열
서버 매뉴얼의연결 문자열 옵션
Atlas 문서의드라이버 Connection(드라이버 연결) 가이드 클릭하고 Go 언어 드롭다운에서 를 선택합니다.
API 문서
이 가이드에서 사용되는 메서드 또는 유형에 대해 자세히 알아보려면 다음 API 문서를 참조하세요.