문서 메뉴
문서 홈
/ / /
PHP 라이브러리 매뉴얼
/

Stable API

이 페이지의 내용

  • API 버전 선언
  • 엄격한 API
  • 더 이상 사용되지 않는 명령 실패
  • 명령 헬퍼와 함께 사용

API 버전을 선언하려면 클라이언트를 생성할 때 serverApi 드라이버 옵션을 전달합니다. 값은 MongoDB\Driver\ServerApi 입니다. API 버전 정보가 포함된 인스턴스입니다. 이 기능은 MongoDB 5 에 도입되었습니다.0, 처음에는 API 버전 '1'만 지원합니다. 추가 버전은 향후 버전의 서버에 도입될 수 있습니다.

<?php
use MongoDB\Client;
use MongoDB\Driver\ServerApi;
$serverApi = new ServerApi(ServerApi::V1);
$client = new Client('mongodb://127.0.0.1', [], ['serverApi' => $serverApi]);
// Command includes the declared API version
$client->database->collection->find([]);

참고

5.0 이전 버전이 없는 배포에 연결할 때만 API 버전을 선언합니다. 표시합니다. 이전 서버에서는 선언된 API 버전으로 명령이 발생하면 오류가 발생합니다.

기본적으로 API 버전을 선언하면 stable API 에 포함된 명령의 동작이 보장되지만, API 버전에 포함되지 않은 명령의 사용이 금지되지는 않습니다. 의 일부인 명령과 옵션만 stable API 허용하려면 strict MongoDB\Driver\ServerApi 를 만들 때 옵션을 지정합니다. 인스턴스:

<?php
use MongoDB\Client;
use MongoDB\Driver\ServerApi;
$serverApi = new ServerApi(ServerApi::V1, true);
$client = new Client('mongodb://127.0.0.1', [], ['serverApi' => $serverApi]);
// Will fail as the tailable option is not supported in versioned API
$client->database->collection->find([], ['tailable' => true]);

선택적 deprecationErrors 옵션을 사용하면 MongoDB가 API 버전에서 더 이상 사용되지 않는 모든 명령이나 동작이 실패합니다. 이는 향후 API 버전으로 원활하게 전환하기 위해 테스트에 사용할 수 있습니다.

<?php
use MongoDB\Client;
use MongoDB\Driver\ServerApi;
$serverApi = new ServerApi(ServerApi::V1, null, true);
$client = new Client('mongodb://127.0.0.1', [], ['serverApi' => $serverApi]);

참고

이 작성 시점을 기준으로 API 버전 '1'의 어떤 부분도 더 이상 사용되지 않습니다.

MongoDB\Database::command() 메서드를 사용하여 임의의 명령을 실행하는 경우 클라이언트에 선언된 API 버전이 명령 문서에 자동으로 추가됩니다. 명령 문서에서 apiVersion, apiStrict 또는 apiDeprecationErrors 명령 옵션 중 하나를 설정하고 선언된 API 버전으로 클라이언트에서 MongoDB\Database::command() 를 호출하는 것은 지원되지 않으며, 이는 정의되지 않은 동작을 초래할 수 있습니다.

돌아가기

BSON 데이터 모델링

다음

레거시 드라이버 업그레이드 가이드