새로운 기능
다음 버전의 새로운 기능에 대해 알아보세요:
5.2의 새로운 기능
5.2 운전자 출시하다 에는 다음과 같은 새로운 기능, 개선 사항 및 수정 사항이 포함되어 있습니다.
SearchIndexModel
인스턴스 를 구성할 때 전달할 수 있는SearchIndexType
클래스를 추가합니다. 이 변경 사항을 통해 Atlas Search 또는 Vector Search 인덱스 를 생성할 때 인덱스 유형을 지정할 수 있습니다. 학습 내용은 Atlas Search 및 Vector Search 인덱스 가이드 를 참조하세요.SCRAM-SHA-1
및SCRAM-SHA-256
인증 메커니즘을 구현 하는 알고리즘 구현 을 구성된 JCA 제공자 에게 위임합니다. 이 변경은 애플리케이션 에서 구성된 FIPS 호환 JCA 제공자 를 사용하여 더 높은 수준의 보안을 제공할 수 있음을 의미합니다.mongodb-crypt 수정 종속성 버전을 사용하여 JVM 드라이버의 버전과 일치시킵니다.
mongodb-crypt
의 향후 버전은 운전자 와 함께 출시될 예정이며 동일한 버전 번호를 주식 합니다.mongodb-crypt
종속성을 v5 로 업그레이드 해야 합니다.2.0 이 출시하다 의 운전자 를 업그레이드할 때 . 학습 내용은 사용 중 암호화 가이드 를 참조하세요.지원되는 모든 플랫폼에서 네이티브 암호화를 구현 하여 성능이 향상되었습니다. 다음 목록에서는 운영 체제에 따라 이 개선 사항을 구현 하는 데 필요한 조치를 설명합니다.
Windows:
mongodb-crypt
버전을 v5.2.0 로 업그레이드합니다.Mac:
mongodb-crypt
버전을 v5.2.0 으로 업그레이드합니다.Linux:
mongodb-crypt
JAR 파일 에 번들로 제공되는 파일 을 사용하는 대신 파일 시스템에 직접libmongocrypt.so
를 설치합니다.libmongocrypt
설치에 대한 Linux 지침은 서버 매뉴얼 에서 찾을 수 있습니다. 패키지 관리자를 사용하여libmongocrypt
를 설치하는 경우 추가 구성 없이 JNA( Java Native Access)가 해당 위치를 찾습니다. 또는LD_LIBRARY_PATH
환경 변수를libmongocrypt
패키지 의 파일 경로로 설정하여 검색 경로를 지정할 수 있습니다.번들로 제공되는 공유 라이브러리는 OpenSSL 바이너리 비호환성 가능성으로 인해 OpenSSL과 연결되지 않으므로 직접 설치를 권장합니다.
공유 라이브러리 로딩은 JNA에서 처리합니다. 라이브러리 로딩 검색 경로 순서에 대한 규칙은 NativeLibrary 클래스 문서에서 확인할 수 있습니다.
일부 상황에서
InsertOneResult.getInsertedId()
및InsertManyResult.getInsertedIds()
메서드가 잘못된 문서 ID를 반환하는 문제를 수정합니다. 이 변경 사항은 코틀린 동기 (Kotlin Sync) 운전자 v5.1.4 및 v4.11.4 에 백포트되었습니다.샤딩된 클러스터 작업이 실패하면 운전자 는 다른
mongos
서버를 사용할 수 있는 경우 작업 재시도를 위해 동일한mongos
서버 를 선택하지 않습니다.애플리케이션 에서 GraalVM 네이티브 이미지를 사용할 때 필요한 연결 가능성 메타데이터 를 추가합니다. 이 메타데이터 는 운전자 라이브러리를 사용할 때 연결 가능성 메타데이터 를 수집할 필요성을 대체합니다. 학습 내용은 연결 가능성 메타데이터 를 참조하세요. GraalVM 문서에서 확인 가능합니다.
지원되는 모든 플랫폼(대상)에 대한 항목을 추가하면 GraalVM 네이티브 이미지를 사용하여 빌드된 네이티브 실행 파일의 크기에 큰 영향을 미치기 때문에 이 변경으로 인해
libjnidispatch
및libmongocrypt
리소스 항목이 추가되지 않습니다. 이 샘플 리소스-config.json 보기 파일 을 운전자 리포지토리 에서 확인하여 Github 애플리케이션 이 라이브러리에 의존하는 경우 이러한 항목을 명시적으로 지정하는 방법을org.mongodb:mongodb-crypt
확인합니다.VectorSearchOptions
API 를 확장하여 다음과 같은 특정 옵션 하위 유형을 도입하여 정확한 벡터 검색 을 활성화합니다.ExactVectorSearchOptions
: 이 옵션 유형을 활성화 정확한 일치가 활성화되어 결과가 지정된 쿼리 벡터에 가장 가까운 벡터가 됩니다.ApproximateVectorSearchOptions
: 정확히 가장 가까운 벡터를 반환하지 않을 수 있는 검색을 활성화 하려면 이 옵션 유형을 사용합니다. 이 유형을 인스턴스화할 때numCandidates
매개변수를 전달하여 고려해야 할 가장 가까운 이웃의 수를 지정할 수 있습니다.
Atlas Vector Search 기능 사용에 학습 보려면 Atlas Vector Search 빠른 시작 을 참조하고 언어 드롭다운에서 Kotlin (Sync) 를 선택합니다.
kotlinx-datetime
라이브러리의 직렬 변환기에 대한 지원 을 추가하여 코틀린( 코틀린 (Kotlin) ) 날짜 및 시간 유형을 문자열이 아닌 예상 유형으로 BSON 에 매핑할 수 있습니다. 학습 내용은 코틀린 (Kotlin) 직렬화 가이드 의 날짜 및 시간 직렬화 섹션을 참조하세요.JsonElement 의 직렬화 지원 값.
JsonElement
유형으로 작업하려면 애플리케이션 에kotlinx-serialization-json
라이브러리를 종속성으로 추가해야 합니다.
5.1.3의 새로운 기능
5.1.3 운전자 패치 출시하다 에는 다음과 같은 변경 사항이 포함됩니다.
Cursor
유형을 사용할 때 어설션 오류를 일으킬 수 있는 문제를 수정합니다.
5.1.2의 새로운 기능
5.1.2 운전자 패치 출시하다 에는 다음과 같은 변경 사항이 포함됩니다.
null을 허용하는 일반 매개변수 유형으로 코틀린( 코틀린 (Kotlin) ) 데이터 클래스 인코딩을 지원합니다. 예를 예시 다음 코드에서
Container
클래스를 인코딩할 수 있습니다.data class Box<T>( val boxed: T ) data class Container( val box: Box<String?> )
5.1.1의 새로운 기능
5.1.1 운전자 패치 출시하다 에는 다음과 같은 변경 사항이 포함됩니다.
MONGODB-OIDC
인증 메커니즘 을 사용하는 경우authMechanismProperties
연결 string 값에 쉼표 문자를 포함하지 않아야 합니다.
5.1의 새로운 기능
경고
이 릴리스의 사용 중단
드라이버의 향후 주요 릴리스에서 호환성이 손상되는 변경이 발생하지 않도록 하려면 더 이상 사용되지 않는 프로그램 요소에 의존하는 모든 애플리케이션 코드를 교체하세요.
이 섹션에는 다음 정보가 포함되어 있습니다.
5.1에서 사용 중단된 기능
MongoDB Server v3.6 에 대한 지원은 더 이상 사용되지 않으며 다음 운전자 버전 출시하다 에서 제거될 예정입니다. MongoDB Server 배포서버 서버를 업그레이드 하는 방법을 학습 보려면 MongoDB Server 매뉴얼의 릴리스 노트 를 참조하세요.
5.1의 개선 사항
GraalVM 네이티브 이미지 기술에 대한 내부 테스트입니다. 이러한 테스트에는 GraalVM 네이티브 이미지 도구를 사용하여 네이티브 애플리케이션을 빌드하는 것이 포함됩니다.
MONGODB-OIDC
인증 메커니즘 에 대한 지원 이 향상되었습니다.
다형성
MongoCollection
인스턴스 를 사용할 때 작업에서 잘못된 코덱을 사용하는 문제를 수정합니다. 이렇게 하면bson-kotlinx
을 사용할 때 판별자 정보가 손실되지 않습니다.디코딩 시 클래스 판별자가 첫 번째 필드였기 때문에 다형성
MongoCollection
인스턴스를 사용할 때 필드 유형 오류가 발생하는 문제를 수정합니다.
5.1의 새로운 기능.
5.0의 새로운 기능
5.0 드라이버 릴리스의 새로운 기능은 다음과 같습니다.
KotlinSerializerCodecProvider
생성자는 이제serializersModule
및bsonConfiguration
객체를 허용합니다.KotlinSerializerCodec.create(clazz.kotlin, serializersModule=serializersModule, bsonConfiguration=bsonConfiguration) 이렇게 하면 구성을 더 쉽게 사용자 지정할 수 있습니다.
컨테이너 유형이 삭제되도록 하는 Kotlin 리플렉션 버그를 수정합니다.