새로운 기능
다음 버전의 MongoDB PHP 라이브러리에 도입된 새로운 기능, 개선 사항 및 수정 사항에 대해 알아보세요.
2.1의 새로운 기능
중요
호환성이 손상되는 변경
PHP 라이브러리 v2.1 출시하다 에는 다음과 같은 호환성이 손상되는 변경이 도입되었습니다.
MongoDB Server 4.0에 대한 지원 중단합니다. 지원되는 최소 MongoDB Server 버전은 4.2입니다.
PHP 라이브러리 v2.1 출시하다 에는 다음과 같은 기능, 개선 사항 및 수정 사항이 포함되어 있습니다.
클라이언트 대량 쓰기 (write) API 추가하여 동일한 호출로 여러 데이터베이스 및 컬렉션에 대한 쓰기 (write) 작업을 수행할 수 있습니다. 이 기능에 대해 자세히 학습하려면 대량 쓰기 작업 가이드의 클라이언트 대량 쓰기 섹션을 참조하세요.
2.0의 새로운 기능
중요
호환성이 손상되는 변경
PHP 라이브러리 v2.0 출시하다 에는 다음과 같은 호환성이 손상되는 변경이 도입되었습니다.
다음 메서드는 원시 명령 응답 대신
void
을 반환합니다.MongoDB\Client
:dropDatabase()
MongoDB\Collection
:drop()
,dropIndex()
,dropIndexes()
,dropSearchIndex()
,rename()
MongoDB\Database
:createCollection()
,drop()
,dropCollection()
,renameCollection()
이 출시하다 의 호환성이 손상되는 변경에 대해 자세히 학습하려면 라이브러리 버전 업그레이드 가이드의 버전 2.0 호환성이 손상되는 변경 섹션을 참조하세요.
PHP 라이브러리 v2.0 출시하다 에는 다음과 같은 API 변경 사항 및 제거 사항이 포함되어 있습니다.
다음 메서드를 추가합니다.
MongoDB\Client::getDatabase()
: 별칭MongoDB\Client::selectDatabase()
MongoDB\Client::getCollection()
: 별칭MongoDB\Client::selectCollection()
MongoDB\Database::getCollection()
: 별칭MongoDB\Database::selectCollection()
Client::selectCollection()
,Client::selectDatabase()
및Database::selectCollection()
메서드는 향후 운전자 출시하다 에서 더 이상 사용되지 않으며 이러한 새 메서드로 대체될 예정이므로 애플리케이션 에서 사용법을 변경하는 것이 좋습니다.MongoDB\Database::aggregate()
및MongoDB\Collection::aggregate()
메서드를 수정하여Pipeline
인스턴스$pipeline
매개 변수로 허용할 수 있도록 합니다. 이 구성을 사용하는 예제를 보려면 애그리게이션 가이드의 애그리게이션 빌더 섹션을 참조하세요.더 나은 확장성과 호환성을 위해
Cursor
유형 힌트를CursorInterface
로 대체합니다.GridFS 유형에서 더 이상 사용되지 않는 필드를 제거합니다.
파일 이 GridFS 에 업로드될 때 라이브러리는
md5
필드 계산하지 않습니다. 애플리케이션 에 파일 다이제스트가 필요한 경우 이 프로세스 GridFS 외부에서 구현 하고 메타데이터 에 값을 저장 해야 합니다.contentType
및aliases
필드는 더 이상files
GridFS 컬렉션 에 저장되지 않습니다. 애플리케이션 에 이 정보가 필요한 경우 메타데이터 에 저장 해야 합니다. GridFS 에 대해 자세히 학습 대용량 파일 저장 가이드 참조하세요.
찾기 작업에 대해 더 이상 사용되지 않는 다음 옵션을 제거합니다.
maxScan
modifiers
oplogReplay
snapshot
찾기 작업에 지원되는 옵션에 대해
MongoDB\Collection::find()
학습 또는 API 설명서를 참조하세요.MongoDB\Collection::findOne()
더 이상 사용되지 않는
IndexInfo::isGeoHaystack()
메서드를 제거합니다.MongoDB\Database::createCollection()
메서드에 대해 더 이상 사용되지 않는autoIndexId
및flags
옵션을 제거합니다.더 이상 사용되지 않는 다음 메서드 및 유형을 제거하여 맵 리듀스 기능에 대한 지원 중단합니다.
MongoDB\Collection::mapReduce()
MongoDB\MapReduceResult
$group
및$merge
와 같은 집계 파이프라인 단계 사용하여 맵 리듀스 작업을 다시 작성할 수 있습니다. 자세한 학습 은 MongoDB Server 매뉴얼에서 집계 파이프라인으로의 맵 리듀스 를 참조하세요.다음
Iterator
구현을 제거합니다.MongoDB\Model\CollectionInfoIterator
MongoDB\Model\DatabaseInfoIterator
MongoDB\Model\IndexInfoIterator
MongoDB\Client::listDatabases()
,MongoDB\Database::listCollections()
및MongoDB\Collection::listIndexes()
메서드는 해당 결과를 제공하는 일반 순회 가능한Iterator
인스턴스를 반환합니다.
1.21의 새로운 기능
PHP 라이브러리 v1.21 출시하다 에는 다음과 같은 기능, 개선 사항 및 수정 사항이 포함되어 있습니다.
보다 유형이 안전한 방식으로 집계 파이프라인을 빌드 할 수 있는 API 집계 빌더를 소개합니다. 자세한 내용을 학습 예시를 보려면 애그리게이션 가이드 의 애그리게이션 빌더 섹션을 참조하세요.
다음 메서드를 추가합니다.
MongoDB\Client::getDatabase()
: 별칭MongoDB\Client::selectDatabase()
MongoDB\Database::getCollection()
: 별칭MongoDB\Database::selectCollection()
MongoDB\Database::getCollection()
: 별칭MongoDB\Database::selectCollection()
Client::selectCollection()
,Client::selectDatabase()
및Database::selectCollection()
메서드는 향후 운전자 출시하다 에서 더 이상 사용되지 않으며 이러한 새 메서드로 대체될 예정이므로 애플리케이션 에서 사용법을 변경하는 것이 좋습니다.SearchStage
,VectorSearchStage
및SearchMetaStage
빌더 클래스에 대한 명명된 인수를 추가합니다. 이 변경 사항을 통해 Atlas Search 및 Atlas Vector Search 쿼리를 보다 유형 안전하고 조직적인 방식으로 쓰기 (write) 수 있습니다. 자세히 학습 Atlas Search 및 Atlas Vector Search 가이드를 참조하세요.더 이상 사용되지 않는 MMAPv1 스토리지 엔진 에 사용되는
flags
옵션을 더 이상 사용하지 않습니다. 이 옵션은 PHP 라이브러리 v2.0에서 제거될 예정입니다.MongoDB\Collection::updateOne()
및MongoDB\Collection::replaceOne()
메서드에 정렬 옵션을 추가합니다. 이 변경 사항을 통해 대량 작업에서 업데이트 및 바꾸기 작업을 수행할 때 정렬 순서를 옵션으로 설정하다 수도 있습니다.다음 메서드에
builderEncoder
옵션을 추가합니다.
이 버전의 변경 사항에 대한 자세한 내용은 v1.21 출시하다 노트 를 Github 참조하세요. 에서 .
1.20의 새로운 기능
중요
MongoDB Server v3.6 수명 종료
이 출시하다 의 라이브러리에서는 MongoDB Server v3.6 에 대한 지원이 제거되었습니다.
MongoDB Server v8.0 에 대한 지원 을 추가합니다.
Queryable Encryption (QE) 범위 쿼리에 대한 지원 을 추가합니다. 이 기능 을 사용하려면 앱 이 MongoDB Server 8.0 이상에 연결되어야 합니다. QE 범위 쿼리에 대한 자세한 내용은 MongoDB Server 매뉴얼의 Queryable Encryption 을 참조하세요.
샤딩된 클러스터 작업이 실패하면 라이브러리는 다른
mongos
서버를 사용할 수 있는 경우 작업 재시도를 위해 동일한mongos
서버 를 선택하지 않습니다.이제 KMIP 데이터 키를 만들 때
delegated
옵션을 지정할 수 있습니다. 이 옵션을true
로 설정하다 하면 KMIP 제공자 가 데이터 키의 암호화 및 암호 해독을 로컬에서 수행하여 암호화 키 가 KMIP 서버 를 벗어나지 않도록 합니다.type
및MongoDB\Collection::createIndex()
MongoDB\Collection::createSearchIndexes()
메서드에 대한 검색 인덱스 사양에 옵션을 추가합니다. 이 변경 사항을 통해 프로그래밍 방식으로 Atlas Vector Search 인덱스를 만들 수 있습니다. 자세한 내용을 학습 예시를 보려면 Atlas Search 인덱스 가이드 참조하세요.
이 버전의 변경 사항에 대한 자세한 내용은 v1.20 출시하다 노트 를 Github 참조하세요. 에서 .
1.19의 새로운 기능
이번 PHP 라이브러리 출시하다 에는 중요한 변경 사항이 없으며 PHP 확장과 버전 패리티를 유지하기 위해 추가되었습니다.
1.18의 새로운 기능
새로운 GridFS API 를 추가하여 PHP의 기존 파일 시스템 기능을 사용하여 파일 작업을 더 편리하게 수행할 수 있도록 합니다.
MongoDB\GridFS\Bucket::registerGlobalStreamWrapperAlias()
메서드를 사용하여 GridFS 버킷의 전역 별칭을 등록할 수 있습니다. 이렇게 하면 파일 URI(예: "gridfs://mybucket/hello.txt"). 이 API 의 데모는 gridfs_stream_wrapper.php 예시 스크립트.MongoDB\Client
클래스에MongoDB\Client::addSubscriber()
및MongoDB\Client::removeSubscriber()
메서드를 추가하여 기본MongoDB\Driver\Manager
객체 로 범위가 지정된 모니터링 클래스를 더 쉽게 등록할 수 있습니다.
이 출시하다 에 학습 보려면 v 릴리스 노트1.18 를 Github 참조하세요. 에서 .
1.17의 새로운 기능
BSON 을 PHP 객체와 변환하기 위한 새로운 '코덱' API 를 도입합니다. 이 기능 에 대한 자세한 내용은 코덱 튜토리얼에서 확인할 수 있습니다.
라이브러리에
MongoDB\add_logger()
및MongoDB\remove_logger()
함수를 추가합니다. 이러한 함수를 사용하면 애플리케이션에서 PSR-3 로거 를 등록할 수 있습니다. 운전자 에서 보낸 로그 메시지를 수신합니다. 이전에는 확장 프로그램의 mongodb.debug 를 통해서만 로그를 사용할 수INI
있었습니다. 설정.Atlas Search 인덱스를 생성하고 관리 새로운
MongoDB\Collection
메서드를 도입합니다. Atlas Search 인덱스는 라이브러리의 모든 버전에서 지원되는$search
집계 파이프라인 단계를 사용하여 쿼리할 수 있습니다. Atlas Search 인덱스와$search
집계 단계의 세부 사항에 학습 보려면 Atlas Search 인덱스 문서 및 $ 검색 를 참조하세요.mongodb
확장 요구 사항을 1.17.0 로 업그레이드합니다. PHP 7.2 및 7.3 에 대한 지원이 제거되었으며 라이브러리에는 이제 PHP 7.4 이상이 필요합니다.
이 출시하다 에 학습 보려면 v 릴리스 노트1.17 를 Github 참조하세요. 에서 .