새로운 기능
이 페이지의 내용
다음 버전의 새로운 기능에 대해 알아보세요:
예정된 호환성이 손상되는 변경
MapReduceIterable 및 MongoCollection 맵 리듀스 듀스 메서드 MongoDB v 에서 더 이상 사용되지 않습니다.42 그리고 나중에. 이들은 집계 프레임워크 로 대체되며 향후 출시하다 에서 제거될 예정입니다.
4.9의 새로운 기능
4.9 드라이버 릴리스의 새로운 기능은 다음과 같습니다.
BsonCreator
주석이 달린 생성자에BsonProperty
또는BsonId
이외의 주석이 있는 매개 변수가 포함된 경우를 식별하는 새로운 예외가 추가되었습니다.org.mongodb.driver.protocol.command
패키지에서 보고한 명령 모니터링 메시지의 로그 메시지 형식이 변경되었습니다.애그리게이션에 집계 파이프라인 단계에 대한
$documents
지원이 추가되었습니다. 헬퍼 클래스.MongoClientSettings.Builder.applyToLoggerSettings() 추가 및 LoggerSettings.Builder.maxDocumentLength() 메서드를 사용하여 로그 메시지에서 BSON 문서 의 확장 JSON 표현에 대한 최대 길이를 지정할 수 있습니다.
4.8의 새로운 기능
경고
v4.8의 호환성이 손상되는 변경
v4.8 드라이버에는 호환성이 손상되는 변경이 포함되어 있습니다. 자세한 내용은 버전 4.8 호환성이 손상되는 변경 및 버전 4.8 서버 릴리스 지원 변경 사항을 참조하세요.
중요
사용 중단 안내
IterableCodec
및 MapCodec
클래스는 더 이상 사용되지 않습니다. 대신 CollectionCodec
및 MapCodecV2
를 사용합니다. 이는 Collection
또는 Map
을 구현하는 모든 클래스를 지원합니다.
4.8 드라이버 릴리스의 동작 변경 사항은 다음과 같습니다.
애플리케이션이 OSGi 컨테이너에 드라이버를 배포하고 Java 레코드의 인코딩 및 디코딩을 위해 드라이버를 사용하는 경우
org.bson.codecs.record
모듈에 대한 명시적 종속성을 추가해야 합니다.INFO
대신DEBUG
수준에서 새 연결 메시지를 로깅합니다.
4.8 드라이버 릴리스의 새로운 기능은 다음과 같습니다.
AWS를 통한 인증을 지원합니다. 드라이버는 AWS SDK 버전 1과 버전 2 모두에 대한 선택적 종속성을 취합니다.
사용 중인 암호화를 위해 GCP 및 Azure 모두에서 환경에서 자격 증명을 가져올 수 있도록 지원합니다.
일반 매개변수가 있는 구성 요소가 포함된 레코드의 역직렬화를 지원합니다.
SortedSet
,NavigableMap
,LinkedList
또는TreeSet
와 같이 보다 구체적인 컨테이너 유형을 가진 구성 요소를 포함하는 레코드의 역직렬화를 지원합니다.재귀 레코드 유형, 즉 유형 정의에 주기가 포함된 레코드를 지원합니다.
MongoDB v6.1 이상에서
showExpandedEvents
서버 기능이 활성화된 경우 변경 스트림 업데이트 이벤트에disambiguatedPaths
필드가 포함됩니다. getDisambiguatedPaths() 메서드 에서 이 필드에 대해 자세히 알아보세요. API 문서. 확장 이벤트 서버 설명서에서showExpandedEvents
설정에 대해 자세히 알아보세요.
4.7.1의 새로운 기능
4.7.1 운전자 는 클라이언트 측 필드 레벨 암호화 및 Queryable Encryption 에 영향을 미치는 버그를 패치합니다. 이 버그로 인해 GCP KMS 또는 에서 호스팅되는 고객 마스터 키 암호화됨 데이터 암호화 키 (DEK)를 순환시킬 때 데이터가 손상될 수 Azure Key Vault 있습니다. 이 버그는 RewrapManyDataKey
메서드의 운전자 버전 4.7.0 에 존재했으며 DEK 손실의 원인이 되었습니다.
4.7의 새로운 기능
4.7 드라이버 릴리스의 새로운 기능은 다음과 같습니다.
MongoDB 6.0에 대한 완전한 지원이 추가되었습니다.
다음과 같은 변경 스트림 지원 개선 사항이 추가되었습니다.
변경 스트림 에 대한 사전 이미지 및 사후 이미지 지원 이 향상되었습니다. 변경 스트림 감시 헬퍼는 이제
fullDocument
옵션에 대해whenAvailable
및required
을 허용합니다. 자세한 내용은 변경 스트림 참조 문서를 참조하세요.whenAvailable
및required
을 허용하는 새로운fullDocumentBeforeChange
옵션을 추가했습니다.이제 MongoDB 컬렉션에 표시되도록 구성하면 변경 이벤트에
fullDocumentBeforeChange
필드가 포함됩니다.변경 스트림에 대한
showExpandedEvents
지원이 추가되었습니다.wallTime
클래스에ChangeStreamDocument
지원을 추가했습니다.
클러스터형 인덱스 생성 지원이 추가되었습니다.
자동 암호화 지원 을 포함하여 Queryable Encryption 과 관련된 새로운 기능을 지원합니다( MongoDB v6.0 엔터프라이즈 이상 필요) 및 수동 암호화.
새로운 Queryable Encryption 공유 라이브러리를 지원하여
mongocryptd
프로세스 가 필요하지 않습니다. Queryable Encryption 공유 라이브러리에는 org.mongodb:mongodb-crypt 가1.5.1.1
필요합니다. 버전 이상.
암호화 키 관리를 위한 새로운 API가 추가되었습니다.
$search
/$searchMeta
( Atlas 만 해당),$densify
및$fill
를 포함한 추가 집계 단계에 대한 빌더 API 메서드가 추가되었습니다. 애그리게이션 빌더 페이지에서 이러한 메서드에 자세히 보기 .POJO 인코딩 및 디코딩에 사용할 수 있는
BsonExtraElements
주석을 추가했습니다.BsonExtraElements
를 사용하면 개발자가 새 필드를 명시적으로 매핑할 필요 없이 향후 새 필드를 수신할 수 있는 객체를 디코딩할 수 있습니다.다음을 포함한 성능 최적화:
서버 세션 풀 및 버퍼 풀을 잠금 없이 구현합니다.
DBCursor
의 새로운 정리 구현은 마무리 대신 Java Cleaner API를 사용하며, Java 9 이상에서 사용할 수 있습니다.
setWindowFields 빌더 API는 더 이상 베타 기능이 아닙니다. API의 변경으로 인해 바이너리 및 소스 호환성이 모두 중단됩니다. 자세한 내용은 버전 4.7 호환성이 손상되는 변경을 참조하세요.
4.6의 새로운 기능
4.2 Node.js 드라이버 릴리스의 새로운 기능에는 다음 내용이 포함됩니다.
이제 버퍼 풀이 모든
MongoClient
인스턴스에서 공유됩니다. 버퍼 풀은 1분 동안 유휴 상태였던 버퍼를 정리합니다.클라이언트 측 필드 API 레벨 암호화 ( )에 대한 자격 증명 의 공급자를 지정하는 Amazon Web Services KMS CSFLE 가 추가되었습니다. 자세한 내용은 AutoEncryptionSettings.Builder.kmsProviderPropertySuppliers() 및 ClientEncryptionSettings.Builder.kmsProviderPropertySuppliers() 자세한 내용은 API 문서를 참조하세요.
Apple M1 ARM 기반 하드웨어에 대한 CSFLE의 종속성인
org.mongodb:mongodb-crypt
호환성이 추가되었습니다.드라이버가 사용자 지정 DNS 클라이언트를 지정할 수 있도록 서비스 제공자 인터페이스(SPI)를 추가했습니다. DnsClient 보기 및 DnsClientProvider 자세한 내용은 인터페이스 API 문서를 참조하세요.
Java 레코드 간 인코딩 및 디코딩을 위한 운전자 지원 추가 및 BSON 문서로, 기본값 활성화되어 있습니다. 자세한 내용은 문서 데이터 형식: 레코드 를 참조하세요.
4.5.1의 새로운 기능
DNS 서버가 존재하지 않는 도메인을 나타내는 NXDomain 오류를 반환하는 경우 4.5.1 드라이버는 더 이상 예외를 발생시키지 않습니다.
4.5의 새로운 기능
4.5 Java 드라이버 릴리스의 새로운 기능은 다음과 같습니다.
SRV 리소스 레코드의 사용자 지정 서비스 이름 지정에 대한 지원이 추가되었습니다. 자세한 내용은 연결 옵션 가이드의
srvServiceName
설정을 참조하세요.CodecRegistries.withUuidRepresentation()
메서드를 사용하여 코덱 레지스트리에서 UUID 표현을 사용자 지정할 수 있도록 지원이 추가되었습니다.ClusterSettings
,ServerSettings
및ConnectionPoolSettings
빌더에서 리스너 설정 재정의 지원이 추가되었습니다.ClusterListener
,ServerListener
및ServerMonitorListener
에서 수신한 모든 이벤트는 이제 서로 다른 MongoClient 인스턴스에서 리스너를 공유하지 않을 때 발생 전 관계를 사용하여 완전히 정렬됩니다. 발생 전 정렬에 대해 자세히 알아보려면 Java 언어 사양의 발생 전 정렬을 참조하세요.EnumCodec
및EnumCodecProvider
클래스를 추가하여enum
유형에 대한 코덱 지원을PojoCodec
클래스와 분리했습니다.MongoClientSettings
및Bson
인터페이스에서 액세스할 수 있는 기본 코덱 레지스트리에 이제enum
코덱 클래스가 포함됩니다. 애플리케이션에서 사용자 지정 열거형 코덱과 기본 레지스트리 중 하나를 사용하는 경우 코덱 재정의 섹션에 설명된 대로 순서를 지정해야 합니다.운전자 의 4.4 및 4.3 버전에 영향을 미치는 성능 문제를 해결했습니다. 이 버전의 성능은 4.2 의 성능과 유사해야 합니다.
클러스터 설명을 조회할 때 발생한 오류가
onError
구독자 콜백으로 전달되지 않는 문제가 해결되었습니다.압축이 활성화된 상태로 연결할 때
ByteBuf
인스턴스를 릴리스하는 문제가 해결되었습니다.javax.annotation.*
패키지에 대한 불필요한 종속성을org.mongodb.driver-core
OSGi 번들에서 제거했습니다.
4.4의 새로운 기능
4.4 Java 드라이버 릴리스의 새로운 기능은 다음과 같습니다.
MongoDB 5.1과의 호환성 및 Java 17 지원이 추가되었습니다.
다음의 인덱스 힌트에 대한 지원이 추가되었습니다.
AggregateIterable
세컨더리의
$merge
및$out
집계 단계에 대한 지원이 추가되었습니다.Updates
빌더에서mergeObjects()
메서드를 사용할 수 있습니다.DocumentCodec
Iterable
또는Map
인스턴스에 쓸 때 코덱 레지스트리를 무시하지 않습니다.
4.3의 새로운 기능
4.3 Java 드라이버 릴리스의 새로운 기능은 다음과 같습니다.
MongoDB Stable API에 대한 지원이 추가되었습니다. 자세한 내용은 Stable API 가이드를 참조하세요.
참고
2022년 2월부터 버전이 지정된 API는 Stable API로 표시됩니다. 이름은 변경되나 모든 개념과 기능은 동일하게 유지됩니다.
MongoDB Atlas 서버리스 인스턴스 에 대한 연결 지원 이 추가되었습니다. 설정 에 대한 자세한 내용 은 새 서버리스 인스턴스 생성방법에 대한 설명서를 참조하세요.
창 연산자를 사용할 수 있도록
setWindowFields
파이프라인 단계에 대한 빌더 API가 추가되었습니다.다음에 대한 스냅샷 읽기 지원이 추가되었습니다.
ClientSession
연결 풀당 새 연결 설정 속도가 제한됩니다.
삽입하거나 바꾸는 문서의 필드 이름에 허용되는 문자에 대한 대부분의 제한 사항이 제거되었습니다. 이는 이러한 제한 사항의 클라이언트 사이드 시행에 의존하는 모든 애플리케이션의 동작 변경입니다.
다음 표는 문서 필드명에 허용되는 문자에 대한 제한 상태를 보여줍니다.
캐릭터 | 작업 | 설명 |
---|---|---|
. | 삽입 및 교체 | 이 문자를 포함하는 필드 이름에 대한 제한이 제거되었습니다. |
$ | Insert | 이 문자로 시작하는 필드 이름에 대한 제한이 제거되었습니다. |
$ | 바꾸기 | 중첩 문서에서 이 문자를 포함하는 필드 이름에 대한 제한이 제거되었습니다. |
$ | 바꾸기 | 이 문자로 시작하는 필드 이름에 대한 최상위 문서의 제한을 유지했습니다. 이렇게 하면 업데이트 작업을 사용하려고 할 때 실수로 변경 작업을 사용하는 것을 방지할 수 있습니다. |
참고
달러 접두사 또는 점으로 구분된 키를 사용하는 승인되지 않은 쓰기는 필드 이름에 대한 일부 제한이 여전히 적용되는 5.0 이전 서버에서 자동으로 거부될 수 있습니다.
4.2의 새로운 기능
4.2 Java 드라이버 릴리스의 새로운 기능은 다음과 같습니다.
클라이언트 사이드 필드 레벨 암호화에 Azure 및 GCP 키 저장소가 추가되었습니다.
여러 인증 요청에서 재사용할 수 있도록 Kerberos 캐싱 티켓이 추가되었습니다.
MongoClient 추가
MongoClientSettings
또는ConnectionString
를 구성으로 사용하는 인스턴스explain()
찾기 에서 메서드 사용 및 집계 명령중간 맵 표현을 피하여 JSON으로 인코딩 및 디코딩을 보다 효율적으로 수행할 수 있도록 JsonObject 클래스가 추가되었습니다.
BsonRepresentation 추가
ObjectId
String
POJO 에서 BSON 값을 로 표현할 수 있는 주석 클래스Filters.empty() 를 추가했습니다. 메서드
4.1의 새로운 기능
4.1 Java 드라이버 릴리스의 새로운 기능은 다음과 같습니다.
계획된 유지 관리 이벤트 중에 클라이언트가 인식하는 페일오버 시간이 크게 감소합니다.
find()
메서드는 RAM에서 실행하는 데 너무 많은 메모리가 필요한 정렬에 대해 allowDiskUse()를 지원합니다.AWS(Amazon Web Services) IAM(Identity and Access Management) 자격 증명을 사용하는 MONGODB-AWS 인증 메커니즘에 대한 지원이 추가되었습니다.
인증을 위한 서버 왕복 횟수가 줄어들어 연결 설정 속도가 빨라집니다.
4.0의 새로운 기능
이번 릴리스에는 새로운 기능이 추가되지 않았습니다.