중요
stable API 기능을 사용하려면 MongoDB Server 버전 5.0 이상을 실행하는 배포에 연결해야 합니다.
연결 중인 모든 MongoDB 서버가 이 기능을 지원하는 경우에만 Stable API 기능을 사용합니다.
개요
이 가이드에서는 MongoDB 인스턴스 혹은 복제본 세트에 연결할 때 Stable API 호환성을 지정하는 방법을 알아봅니다.
Stable API 기능은 지정한 API 버전 과 호환되는 동작으로 서버가 작업을 실행하도록 합니다. API 버전은 다루는 작업의 예상 동작과 서버 응답 형식을 정의합니다. 작업 및 서버 응답은 지정하는 API 버전에 따라 다를 수 있습니다.
정식 MongoDB 드라이버와 함께 Stable API 기능을 사용하면 Stable API에서 다루는 명령의 이전 버전과의 호환성 문제를 걱정하지 않고 드라이버 또는 서버를 업데이트할 수 있습니다.
서버에서 다루는 명령에 대해 자세히 알아보려면 MongoDB 서버 매뉴얼에서 stable API 를 참조하세요.
API 버전 지정
To specify an API version, define a ServerApi struct and set the server_api field of your ClientOptions instance to this struct. The ServerApi struct contains the API version and options. To learn more about setting options, see the Modify Behavior section of this guide.
API 버전을 지정하면 클라이언트는 해당 버전과 호환되는 작업만 실행합니다.
참고
MongoDB Rust 드라이버는 Stable API 버전 1만 지원합니다.
API 버전 사양 예시
다음 예시에서는 Client 를 인스턴스화할 때 Stable API 버전을 설정하고 서버에 연결합니다.
let server_api = ServerApi::builder().version(ServerApiVersion::V1).build(); client_options.server_api = Some(server_api); let client = Client::with_options(client_options)?;
동작 수정
ServerApi 구조체의 필드를 설정하여 Stable API 기능의 동작을 수정할 수 있습니다.
ServerApi 구조체의 필드를 수동으로 설정할 수도 있지만, 빌더 디자인 패턴을 사용하여 구조체를 더 효율적으로 정의할 수 있습니다.
참고
인스턴스화 옵션
Rust 드라이버는 ServerApi 구조체를 포함한 다양한 유형의 생성을 위해 빌더 디자인 패턴을 구현합니다. 각 유형의 builder() 메서드를 사용하면 옵션 빌더 함수를 한 번에 하나씩 연결하여 옵션 인스턴스를 구성할 수 있습니다.
필드 | 설명 |
|---|---|
| (필수) 사용할 Stable API 버전입니다. |
| 서버가 API 버전에 포함되지 않은 기능에 대한 오류를 반환하는지 여부를 나타냅니다. |
| 서버가 더 이상 사용되지 않는 기능에 대한 오류를 반환하는지 여부를 나타냅니다. |
Stable API 옵션 예시
이 예에서는 다음 사양으로 Stable API 기능을 활성화합니다.
Stable API 버전 1 사용
버전 1에 포함되지 않은 기능에 대한 오류 반환
더 이상 사용되지 않는 기능에 대한 오류 반환
let mut client_options = ClientOptions::parse(uri)?; let server_api = ServerApi::builder() .version(ServerApiVersion::V1) .strict(true) .deprecation_errors(true) .build(); client_options.server_api = Some(server_api); let client = Client::with_options(client_options)?;
추가 정보
MongoDB 인스턴스 또는 복제본 세트에 연결하는 방법에 대해 자세히 알아보려면 연결 가이드를 참조하세요.
API 문서
이 가이드에서 사용되는 메서드 또는 유형에 대해 자세히 알아보려면 다음 API 문서를 참조하세요.