Docs Menu
Docs Home
/ /

새로운 기능

다음 버전의 새로운 기능에 대해 알아보세요:

  • 버전 5.1.3

  • 버전 5.1.2

  • 버전 5.1.1

  • 5.1 버전

  • 버전 5.0

  • 4.11 버전

  • 버전 4.10

5.1.3 운전자 패치 출시하다 에는 다음과 같은 변경 사항이 포함됩니다.

  • Cursor 유형을 사용할 때 어설션 오류가 발생할 수 있는 문제를 수정합니다.

5.1.2 운전자 패치 출시하다 에는 다음과 같은 변경 사항이 포함됩니다.

  • null을 허용하는 일반 매개변수 유형으로 코틀린( 코틀린 (Kotlin) ) 데이터 클래스 인코딩을 지원합니다. 예를 예시 다음 코드에서 Container 클래스를 인코딩할 수 있습니다.

    @Serializable
    data class Box<T>(
    val boxed: T
    )
    @Serializable
    data class Container(
    val box: Box<String?>
    )

5.1.1 운전자 패치 출시하다 에는 다음과 같은 변경 사항이 포함됩니다.

  • MONGODB-OIDC 인증 메커니즘 을 사용하는 경우 authMechanismProperties 연결 string 값에 쉼표 문자를 포함하지 않아야 합니다. 이 동작에 학습 보려면 엔터프라이즈 인증 가이드 의 MONGODB-OIDC 섹션을 참조하세요.

경고

이 릴리스의 사용 중단

드라이버의 향후 주요 릴리스에서 호환성이 손상되는 변경이 발생하지 않도록 하려면 더 이상 사용되지 않는 프로그램 요소에 의존하는 모든 애플리케이션 코드를 교체하세요.

이 섹션에는 다음 정보가 포함되어 있습니다.

  • MongoDB 서버 v3.6 에 대한 지원은 더 이상 사용되지 않으며 다음 드라이버 버전 릴리스에서 제거될 예정입니다. MongoDB 서버 배포를 업그레이드하는 방법을 알아보려면 MongoDB 서버 매뉴얼의 릴리스 노트 를 참조하세요.

  • GraalVM 네이티브 이미지 기술에 대한 내부 테스트입니다. 이러한 테스트에는 GraalVM 네이티브 이미지 도구를 사용하여 네이티브 애플리케이션을 빌드하는 것이 포함됩니다.

  • MONGODB-OIDC 인증 메커니즘 에 대한 지원 향상되었습니다. OIDC에 대해 자세히 학습하려면 엔터프라이즈 인증 메커니즘 가이드의 엔터프라이즈 인증 메커니즘 섹션을 참조하세요.

  • 다형성 MongoCollection 인스턴스 를 사용할 때 작업에서 잘못된 코덱을 사용하는 문제를 수정합니다. 이렇게 하면 bson-kotlinx 을 사용할 때 판별자 정보가 손실되지 않습니다.

  • 디코딩 시 클래스 판별자가 첫 번째 필드였기 때문에 다형성 MongoCollection 인스턴스를 사용할 때 필드 유형 오류가 발생하는 문제를 수정합니다.

  • 다형성 직렬화를 지원합니다. 학습 내용은 코틀린 (Kotlin) 직렬화 가이드 의 다형성 직렬화 섹션을 참조하세요.

  • serverMonitoringMode 연결 URI 옵션을 도입합니다. 학습 내용은 연결 옵션 가이드 를 참조하세요.

5.0 드라이버 릴리스의 새로운 기능은 다음과 같습니다.

  • KotlinSerializerCodecProvider 생성자는 이제 serializersModulebsonConfiguration 객체를 허용합니다.

    KotlinSerializerCodec.create(clazz.kotlin, serializersModule=serializersModule, bsonConfiguration=bsonConfiguration)

    이렇게 하면 구성을 더 쉽게 사용자 지정할 수 있습니다.

  • 컨테이너 유형이 삭제되도록 하는 Kotlin 리플렉션 버그를 수정합니다.

이 섹션에는 다음 정보가 포함되어 있습니다.

경고

이 릴리스의 사용 중단

드라이버의 향후 주요 릴리스에서 호환성이 손상되는 변경이 발생하지 않도록 하려면 더 이상 사용되지 않는 메서드 및 유형에 의존하는 모든 애플리케이션 코드를 교체하세요.

4.11 드라이버 릴리스에서는 다음 항목이 더 이상 사용되지 않습니다.

  • 다음 네트워크 주소 관련 메서드는 더 이상 사용되지 않으며 v5.0에서 제거됩니다.

    • ServerAddress 메서드 getSocketAddress()getSocketAddresses().

      getSocketAddress() 대신 java.net.InetAddressgetByName() 인스턴스 메서드를 사용합니다.

      getSocketAddresses() 대신 java.net.InetAddressgetAllByName() 인스턴스 메서드를 사용합니다.

    • UnixServerAddress 메서드 getUnixSocketAddress().

      getUnixSocketAddress() 대신 jnr.unixsocket.UnixSocketAddress의 인스턴스를 구성합니다. 생성자에 UNIX 소켓 파일의 전체 경로를 전달합니다. 기본적으로 MongoDB는 "/tmp/mongodb-27017.sock"에 UNIX 소켓 파일을 생성합니다. UnixSocketAddress에 대한 자세한 내용은 UnixSocketAddress API 문서에서 확인하세요.

  • StreamFactory 인터페이스와 관련된 다음 메서드 및 유형은 더 이상 사용되지 않으며 v5에서 제거될 예정입니다.0:

    • streamFactoryFactory() 다음의 메서드 MongoClientSettings.Builder

    • getStreamFactoryFactory() 다음의 메서드 MongoClientSettings

    • NettyStreamFactoryFactory 클래스

    • NettyStreamFactory 클래스

    • AsynchronousSocketChannelStreamFactory 클래스

    • AsynchronousSocketChannelStreamFactoryFactory 클래스

    • BufferProvider 클래스

    • SocketStreamFactory 클래스

    • Stream 클래스

    • StreamFactory 클래스

    • StreamFactoryFactory 클래스

    • TlsChannelStreamFactoryFactory 클래스

    MongoClientSettings.Builder.streamFactoryFactory()를 사용하여 Netty를 구성하는 경우 코드가 다음과 비슷할 수 있습니다.

    import com.mongodb.connection.netty.NettyStreamFactoryFactory;
    // ...
    MongoClientSettings settings = MongoClientSettings.builder()
    .streamFactoryFactory(NettyStreamFactoryFactory.builder().build())
    .build();

    다음 예시와 같이 이 코드를 TransportSettings.nettyBuilder()로 대체합니다.

    import com.mongodb.connection.TransportSettings;
    // ...
    MongoClientSettings settings = MongoClientSettings.builder()
    .transportSettings(TransportSettings.nettyBuilder().build())
    .build();

4.11 드라이버 릴리스의 새로운 기능은 다음과 같습니다.

  • SOCKS5 프록시를 사용하여 MongoDB에 연결할 수 있도록 지원합니다.

  • 16MB를 초과하는 change stream 이벤트의 일부를 식별하기 위해 ChangeStreamDocument 클래스에 getSplitEvent() 메서드를 추가했습니다. 16MB를 초과하는 events를 처리하려면 change stream에서 애그리게이션 단계 $changeStreamSplitLargeEvent 를 사용해야 합니다.

  • $vectorSearch 에 대한 애그리게이션 단계 빌더를 추가했습니다.

  • Atlas Search 인덱스 관리 헬퍼가 추가되었습니다.

  • Snappy 및 Zstd 압축 라이브러리 종속성 버전이 업데이트되었습니다. 현재 종속성 버전에 대한 자세한 내용은 네트워크 압축을 참조하세요.

  • 연결 풀 이벤트 기간을 모니터링하기 위해 다음 클래스에 getElapsedTime() 메서드를 추가했습니다.

  • Java 21 가상 스레드 및 구조적 동시성을 지원합니다. 가상 스레드가 불필요하게 고정되는 것을 방지하고 스레드의 중단된 상태를 유지하기 위해 드라이버 내부가 업데이트되었습니다. 이는 취소에 사용되는 구조적 동시성에 후자가 중요하기 때문입니다.

    가상 스레드에 대한 자세한 내용은 가상 스레드 JDK 개선 제안을 참조하세요. 구조적 동시성에 대해 자세히 알아보려면 구조적 동시성 JDK 개선 제안을 참조하세요.

  • 다음 유형에 대한 API 문서가 업데이트되었습니다.

중요

Kotlin 드라이버 버전 4.10.1부터 kotlinx-serialization 라이브러리를 사용하려면 bson-kotlinx 라이브러리를 명시적 종속성으로 추가해야 합니다.

  • 코루틴과 동기 애플리케이션 모두에 대해 Kotlin 서버 측 사용을 지원합니다.

  • 코틀린(Kotlin) 데이터 클래스에 대한 코덱 지원.

  • kotlinx.serialization 라이브러리 지원

돌아가기

빠른 참조

이 페이지의 내용