문서 메뉴

문서 홈애플리케이션 개발MongoDB 드라이버Java 동기화

레거시 API에서 마이그레이션

이 페이지의 내용

  • 개요
  • 현재 API 이점
  • API 변경 사항

이 페이지에서는 기존 API에서 현재 API로 마이그레이션하기 위해 변경해야 하는 사항을 확인할 수 있습니다. 또한 현재 Java 드라이버의 고유한 기능과 새 API로 마이그레이션할 때 얻을 수 있는 이점에 대해서도 알아볼 수 있습니다.

mongodb-driver-legacy JAR로 패키징된 레거시 API에는 레거시 동기식 Java 드라이버가 포함되어 있으며 이전 버전의 드라이버에서 사용된 이름 지정 규칙을 사용합니다.

mongodb-driver-sync JAR로 패키징된 현재 API에는 현재 동기식 Java 드라이버가 포함되어 있습니다. CRUD 작업의 진입점으로 MongoCollection 인터페이스를 제공합니다. 여기에는 레거시 API가 포함되어 있지 않습니다.

레거시 API에서 현재 API로 마이그레이션을 수행하려면 코드에서 더 이상 레거시 API를 참조하지 않도록 하고, 필요한 경우 코드를 업데이트합니다. 그런 다음 애플리케이션 종속성에서 레거시 API와 이를 포함하는 모든 uber JAR을 현재 API JAR로 변경합니다.

애플리케이션을 업데이트하여 필요한 변경 사항을 처리하는 것 외에도 프로덕션으로 이동하기 전에 항상 옵션 및 반환 값에 다른 차이점이 있는지 확인합니다.

새로운 MongoDB Server 릴리스가 나올 때마다 레거시 API를 계속 사용할 수 있습니다. 그러나 레거시 API는 MongoDB Server 3.0 이상에서 도입된 업데이트를 지원하지 않습니다. 또한 레거시 API에는 현재 Java 드라이버의 특정 기능에 대한 지원이 부족합니다. 레거시가 아닌 API에서만 사용할 수 있는 일부 기능은 다음과 같습니다.

  • 단일 컬렉션, 데이터베이스 또는 배포에 대한 실시간 변경 사항을 모니터링하도록 설계된 MongoDB Server 기능인 change stream

  • 여러 문서에 대한 읽기 및 쓰기의 원자성을 보장하고 여러 작업, 컬렉션, 데이터베이스, 문서 및 샤드에 걸쳐 트랜잭션을 허용하는 다중 문서 ACID 트랜잭션

  • 일정 기간 동안의 측정값 시퀀스를 저장하고 time series 데이터에 대한 쿼리 효율성을 개선하는 time series 컬렉션

  • 민감한 워크로드를 암호화하고 암호화된 데이터를 쿼리할 수 있는 Queryable Encryption

  • Java 레코드 또는 비즈니스 로직과 데이터 표현을 분리하고 상용구 코드를 줄여주는 간결한 Java 클래스

  • MongoDB 문서와 Java 객체 간의 자동 또는 사용자 지정 매핑을 제공하는 네이티브 POJO 지원

현재 API의 더 많은 기능에 대해 자세히 알아보려면 새로운 기능을 참조하세요.

다음 표는 레거시 API와 현재 API 간의 클래스 및 메서드 이름에 대한 대부분의 변경 사항을 보여줍니다.

레거시
Current
MongoClientOptions
MongoCollection.find().first()

이러한 메서드에 대한 자세한 내용은 다음 API 문서 페이지를 참조하세요.

다음 메서드 중 하나를 사용합니다.

다음 메서드 중 하나를 사용합니다.

앞의 항목 외에도 다음과 같은 변경 사항을 고려합니다.

  • 현재 API는 오버로드된 메서드 대신 Options 클래스와 메서드 체인을 사용합니다.

  • 현재 API는 드라이버 버전 4.0 이상에서 기본적으로 완화된 JSON 형식을 사용합니다. 애플리케이션이 엄격한 JSON 형식을 사용하는 경우 데이터를 읽거나 쓸 때 엄격(strict) 모드를 사용합니다. 문서 데이터 형식: 확장 JSON 가이드를 참조해 현재 API에서 JSON 형식을 지정하는 방법을 알아보세요.

  • 현재 API에서 의 기본 일반 유형은 MongoCollection org.bson.Document 입니다. . 다음을 지정할 수 있습니다. 마이그레이션을 용이하게 하는 경우 유형 매개변수로 사용합니다.

  • 현재 API에서는 aggregate() 메서드에 전달하는 aggregation pipeline이 Bson 인터페이스를 확장하는 객체 목록을 받는 반면, 레거시 API에서는 DBObject 인터페이스를 확장하는 객체 목록을 받습니다.

    메서드 서명도 API마다 다릅니다. 자세한 내용은 다음 API 문서를 참조하세요.

← 드라이버 버전 업그레이드