Docs Menu
Docs Home
/ / /
Rust 드라이버
/

Stable API

이 페이지의 내용

  • 개요
  • API 버전 지정
  • API 버전 사양 예시
  • 동작 수정
  • Stable API 옵션 예시
  • 추가 정보
  • API 문서

중요

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 버전을 지정하려면 ServerApi 구조체를 정의하고 ClientOptions 인스턴스의 server_api 필드를 이 구조체로 설정합니다. ServerApi 구조체에는 API 버전과 옵션이 포함되어 있습니다. 옵션 설정에 대해 자세히 알아보려면 이 가이드의 동작 수정 섹션을 참조하세요.

API 버전을 지정하면 클라이언트는 해당 버전과 호환되는 작업만 실행합니다.

참고

MongoDB Rust 드라이버는 Stable API 버전 1만 지원합니다.

다음 예시에서는 Client 를 인스턴스화할 때 Stable API 버전을 설정하고 서버에 연결합니다.

let mut client_options = ClientOptions::parse(uri).await?;
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() 메서드를 사용하여 옵션 빌더 함수를 한 번에 하나씩 연결하여 옵션 인스턴스 를 구성할 수 있습니다.

필드
설명
version
(Required) The Stable API version to use.
Specified with the ServerApiVersion enum. The only accepted value is V1.

Type: ServerApiVersion
strict
Indicates whether the server returns errors for features that aren't part of the API version.

Type: bool
Default: false
deprecation_errors
Indicates whether the server returns errors for deprecated features.

Type: bool
Default: false

이 예에서는 다음 사양으로 Stable API 기능을 활성화합니다.

  • Stable API 버전 1 사용

  • 버전 1에 포함되지 않은 기능에 대한 오류 반환

  • 더 이상 사용되지 않는 기능에 대한 오류 반환

let mut client_options = ClientOptions::parse(uri).await?;
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 문서를 참조하세요.

돌아가기

TLS 활성화 및 구성