Stable API
참고
Stable API 기능을 사용하려면 MongoDB Server 5.0 이상이 필요합니다.
연결 중인 모든 MongoDB 서버가 이 기능을 지원하는 경우에만 Stable API 기능을 사용해야 합니다.
개요
본 가이드에서는 MongoDB 인스턴스 혹은 복제본 세트에 연결할 때 Stable API 를 지정하는 방법을 힉습할 수 있습니다. Stable API 기능을 사용하여 서버가 지정된 API 버전과 호환되는 동작으로 작업을 실행하도록 할 수 있습니다. API 버전은 다루는 작업의 예상 동작과 서버 응답 포맷을 정의합니다. 다른 API 버전으로 변경하면 작업의 호환성이 보장되지 않고 서버 응답도 유사하지 않습니다.
정식 MongoDB 드라이버와 함께 Stable API 기능을 사용하면 Stable API에서 다루는 명령의 이전 버전과의 호환성 문제를 걱정하지 않고 드라이버 또는 서버를 업데이트할 수 있습니다.
지원되는 명령어 목록을 포함한 자세한 내용은 Stable API의 MongoDB 참조 페이지를 확인하세요.
다음 섹션에서는 MongoDB 클라이언트에 Stable API를 활성화하는 방법과 지정할 수 있는 옵션에 대해 설명합니다.
MongoDB 클라이언트에서 Stable API를 활성화합니다.
Stable API를 활성화하려면 MongoDB 클라이언트 설정에서 API 버전을 지정해야 합니다. 지정된 API 버전으로 MongoClient
인스턴스를 인스턴스화하면 해당 클라이언트로 실행하는 모든 명령은 해당 버전의 stable API를 사용합니다.
팁
둘 이상의 Stable API 버전을 사용하여 명령을 실행해야 하는 경우 해당 버전으로 별도의 클라이언트를 인스턴스화합니다.
Stable API에서 다루지 않는 명령을 실행해야 하는 경우 "엄격" 옵션이 비활성화되어 있는지 확인합니다. 자세한 내용은 Stable API 옵션 섹션을 참조하세요.
다음 예시에서는 다음 작업을 수행하여 Stable API 버전을 설정하고 서버에 연결하는 MongoClient
를 인스턴스화하는 방법을 보여 줍니다.
ServerApi.Builder
도우미 클래스를 사용하여ServerApi
인스턴스를 구성합니다.ServerApiVersion
클래스의 상수를 사용하여 Stable API 버전을 지정합니다.MongoClientSettings.Builder
클래스를 사용하여MongoClientSettings
인스턴스를 구성합니다.ServerAddress
인스턴스를 사용하여 연결할 서버를 지정합니다.MongoClients.create()
메서드를 사용하여MongoClient
(을)를 인스턴스화하고MongoClientSettings
인스턴스를 매개 변수로 전달합니다.
ServerApi serverApi = ServerApi.builder() .version(ServerApiVersion.V1) .build(); // Replace the uri string with your MongoDB deployment's connection string String uri = "<connection string uri>"; MongoClientSettings settings = MongoClientSettings.builder() .applyConnectionString(new ConnectionString(uri)) .serverApi(serverApi) .build(); MongoClient client = MongoClients.create(settings);
경고
API 버전을 지정하고 Stable API 를 지원 하지 않는 MongoDB deployment 서버에 연결하는 경우, MongoDB MongoDB deployment 서버에서 명령을 실행할 때 애플리케이션 에서 예외가 발생할 수 있습니다. API 버전을 지정하는 MongoClient
를 사용하여 지원 하지 않는 서버 를 쿼리 하는 경우 다음 텍스트가 포함된 예외 메시지와 함께 쿼리 가 실패할 수 있습니다.
'Unrecognized field 'apiVersion' on server...
이 섹션에 언급된 메서드 및 클래스에 대한 자세한 내용은 다음 API 문서를 참조하세요.
Stable API 옵션
다음 표에 설명된 대로 Stable API와 관련된 선택적 동작을 활성화하거나 비활성화할 수 있습니다.
옵션 이름 | 설명 |
---|---|
엄격한 | Optional. When set, if you call a command that is not part of the declared API version, the driver raises an exception. Default: false |
deprecationErrors | Optional. When set, if you call a command that is deprecated in the declared API version, the driver raises an exception. Default: false |
다음 예는 ServerApi
의 인스턴스에서 ServerApi.Builder
에 메서드를 연결하여 두 가지 옵션을 설정하는 방법을 보여 줍니다.
ServerApi serverApi = ServerApi.builder() .version(ServerApiVersion.V1) .strict(true) .deprecationErrors(true) .build();
이 섹션의 옵션에 대한 자세한 내용은 다음 API 문서를 참조하세요.