Stable API
참고
Stable API 기능을 사용하려면 MongoDB Server 5.0 이상이 필요합니다.
연결하려는 모든 MongoDB Server가 이 기능을 지원하는 경우에만 stable API 기능을 사용하세요.
개요
이 가이드에서는 MongoDB 인스턴스 혹은 복제본 세트에 연결할 때 Stable API 호환성을 지정하는 방법을 알아봅니다.
Stable API 기능은 지정한 API 버전과 호환되는 동작으로 서버가 작업을 실행하도록 할 수 있습니다. API 버전은 다루는 작업의 예상 동작과 서버 응답 포맷을 정의합니다. 지정하는 API 버전에 따라 작업 및 서버 응답이 달라질 수 있습니다.
정식 MongoDB 드라이버와 함께 Stable API 기능을 사용하면 Stable API에서 다루는 명령의 이전 버전과의 호환성 문제를 걱정하지 않고 드라이버 또는 서버를 업데이트할 수 있습니다.
서버에서 처리하는 명령에 대해 자세히 알아보려면 stable API 를 참조하세요.
API 버전 지정
Client
는 선택적으로 ServerAPIOptions
타입을 취하는데 이는 ClientOptions
를 통해서 이루어집니다.
API 버전을 지정하려면 SetServerAPIOptions()
메서드를 서버 API 옵션과 함께 ClientOptions
에 추가합니다. API 버전을 지정하면 Client
는 연결 기간에 API 버전과 호환되는 작업을 실행합니다.
참고
MongoDB Go 드라이버는 현재 ServerAPIVersion1
만 지원합니다.
예시
다음 예시에서는 Stable API 버전을 설정하고 서버에 연결하는 Client
를 인스턴스화합니다.
// Specify a server URI to connect to uri := "mongodb://<hostname>:<port>" // Specify the Stable API version in the ClientOptions object serverAPI := options.ServerAPI(options.ServerAPIVersion1) // Pass in the URI and the ClientOptions to the Client client, err := mongo.Connect(options.Client().ApplyURI(uri).SetServerAPIOptions(serverAPI)) if err != nil { panic(err) }
동작 수정
ServerAPIOptions
유형에 추가하여 stable API 기능의 동작을 추가로 수정할 수 있습니다. 옵션을 지정하지 않으면 드라이버는 각 옵션에 대해 기본값을 사용합니다.
메서드 | 설명 |
---|---|
| The API version to use. Default: ServerAPIVersion1 |
| Flag that indicates whether the server should return errors for features that aren't part of the API version. Default: false |
| Flag that indicates whether the server should return errors for deprecated features. Default: false |
예시
이 예시에서는 서버가 다음 조치를 수행하도록 지정합니다.
API 버전 1을 사용합니다
버전 1에 포함되지 않은 기능에 대한 오류를 반환합니다
더 이상 사용되지 않는 기능에 대한 오류 반환
// Specify a server URI to connect to uri := "mongodb://<hostname>:<port>" // Specify the Stable API version and append options in the ClientOptions object serverAPI := options.ServerAPI(options.ServerAPIVersion1).SetStrict(true).SetDeprecationErrors(true) // Pass in the URI and the ClientOptions to the Client client, err := mongo.Connect(options.Client().ApplyURI(uri).SetServerAPIOptions(serverAPI)) if err != nil { panic(err) }
추가 정보
MongoDB 인스턴스 또는 복제본 세트 에 연결하는 방법에 학습 보려면 연결 가이드를 참조하세요.
API 문서
이 섹션의 옵션에 대한 자세한 내용은 다음 API 문서를 참조하세요.