Docs Menu
Docs Home
/ / /
Node.js

드라이버 버전 업그레이드

이 페이지의 내용

  • 개요
  • 업그레이드 방법
  • 호환성이 손상되는 변경
  • 버전 5.x 호환성이 손상되는 변경
  • 버전 4.x 호환성이 손상되는 변경
  • 서버 릴리스 호환성 변경 사항
  • 버전 4.2 서버 릴리스 지원 변경 사항

이 페이지에서는 드라이버를 새 버전으로 업그레이드하는 방법을 알아볼 수 있습니다. 이 페이지에는 해당되는 경우 기능 손실 없이 드라이버를 업그레이드하기 위해 애플리케이션에서 수행해야 하는 변경 사항도 포함되어 있습니다.

업그레이드하기 전에 다음 작업을 수행하세요:

  • 새 운전자 버전이 애플리케이션 이 연결되는 MongoDB Server 버전 및 애플리케이션 이 실행되는 Node.js 버전과 호환되는지 확인합니다. 이 정보는 호환성 페이지를 참조하세요.

  • 이 가이드의 호환성이 손상되는 변경 섹션에서 애플리케이션에서 현재 사용 중인 드라이버 버전과 업그레이드 예정 버전 간의 호환성이 손상되는 변경을 해결하세요. MongoDB Server 릴리스 호환성 변경 사항에 대해 자세히 알아보려면 MongoDB Server 릴리스 호환성 변경 사항 섹션을 참조하세요.

Stable API를 사용하여 드라이버 버전을 업그레이드할 때 애플리케이션에 적용해야 하는 변경 사항을 최소화할 수 있습니다.

드라이버 버전을 업그레이드하려면 애플리케이션 디렉토리에서 다음 명령을 실행하세요.

npm install mongodb@5.6

다른 버전의 드라이버로 업그레이드하려면 @ 기호 뒤의 정보를 원하는 버전 번호로 바꾸세요. 명령에 대한 자세한 내용은 npm-install npm install 참조하세요. npm 문서를 참조하세요.

호환성이 손상되는 변경이란 특정 버전의 드라이버에 적용되는 규칙이나 동작의 수정으로, 애플리케이션이 제대로 작동하는 걸 방해할 수 있습니다.

이 섹션의 호환성이 손상되는 변경은 이를 도입한 드라이버 버전별로 분류됩니다. 드라이버 버전을 업그레이드할 때 현재 버전과 업그레이드 버전 간의 호환성이 손상되는 변경을 모두 확인합니다. 예를 들어 드라이버를 v3.x에서 v5.x로 업그레이드하는 경우 v4.x 및 v5.x에 나열된 모든 호환성이 손상되는 변경을 확인합니다.

  • 드라이버 버전 5.x는 Node.js v12 이하 버전과 호환되지 않습니다. 이 버전의 드라이버를 사용하려면 Node.js v14.20.1 이상을 사용해야 합니다.

  • 이 드라이버는 promise 기반 API를 위해 콜백에 대한 지원을 제거합니다. 다음 목록은 콜백 사용자가 이 버전을 채택하기 위한 몇 가지 전략을 제공합니다:

    • Promise 기반 API로 마이그레이션(권장)

    • Promise 기반 API를 사용하고 util.callbackify

    • 콜백을 계속 사용하기 위한 mongodb-legacy 추가

    이러한 전략에 대한 자세한 내용은 v5.0 변경 로그를 참조하세요.

  • 이 드라이버는 Collection.insert(), Collection.update()Collection.remove() 도우미 메서드에 대한 지원을 제거합니다. 다음 목록은 제거된 메서드의 기능을 교체하는 방법에 대한 지침을 제공합니다.

    • Collection.insert()에서 insertOne() 또는 insertMany()로 마이그레이션합니다.

    • Collection.update()에서 updateOne() 또는 updateMany()로 마이그레이션합니다.

    • Collection.remove()에서 deleteOne() 또는 deleteMany()로 마이그레이션합니다.

  • 드라이버는 더 이상 기본적으로 AWS SDK 모듈을 포함하지 않습니다.

  • 드라이버가 더 이상 bson-ext 패키지를 자동으로 가져오지 않습니다.

  • 드라이버는 사용자 지정 Promise 라이브러리에 대한 지원을 제거합니다. 드라이버는 더 이상 MongoClientpromiseLibrary 옵션 및 사용자 지정 Promise 라이브러리를 지정할 수 있는 Promise.set 내보내기를 지원하지 않습니다.

  • 드라이버에서 Collection.mapReduce() 헬퍼에 대한 지원을 제거합니다.

  • BulkWriteResult 유형에 더 이상 공개적으로 열거 가능한 result 속성이 없습니다.

  • 다음 유형, 옵션 및 메서드가 제거되었습니다.

    • BulkResult.lastOp() 메서드

    • opTime 속성: BulkResult

    • BulkWriteOptions.keepGoing 옵션

    • WriteConcernError.err() 메서드

    • AddUserOptions.digestPassword 옵션

    • Kerberos gssapiCanonicalizeHostName option

    • slaveOk 다음 항목을 위한 옵션 및 메서드 제거: secondaryOk

    • ObjectID 선호하는 유형 제거 ObjectId

    • AsyncIterator 다음 항목을 위한 인터페이스 제거: AsyncGenerator

  • 드라이버 버전 4.x는 Node.js v12.8 이하와 호환되지 않습니다. 이 버전의 드라이버를 사용하려면 Node.js v12.9 이상을 사용해야 합니다.

  • Cursor 유형은 더 이상 Readable을 직접 확장하지 않습니다.

  • ChangeStream 인스턴스를 EventEmitter로 사용한 후에는 반복자(iterator)로 사용할 수 없습니다. 또한 EventEmitter 인스턴스를 ChangeStream으로 사용한 후 반복자(iterator)로 사용하여 그 반대의 작업을 수행할 수도 없습니다.

  • 다음 메서드는 더 이상 콜백 매개변수를 허용하지 않습니다.

    • Collection.find()

    • Collection.aggregate()

    • Db.aggregate()

  • maxPoolSize 연결 옵션의 기본값은 이제 100입니다.

  • 드라이버에서 더 이상 gssapiServiceName Kerberos 옵션을 지원하지 않습니다. 대신 사용자는 authMechanismProperties.SERVICE_NAME을(를) 사용해야 합니다.

  • 드라이버는 더 이상 부울(boolean) 옵션에 대해 0 또는 1과 같이 부울이 아닌 유형을 허용하지 않습니다.

  • db.collection 유형은 이제 콜백을 허용하지 않습니다.

  • Db 유형은 더 이상 EventEmitter이(가) 아닙니다. MongoClient 인스턴스에서 직접 모든 이벤트를 수신할 수 있습니다.

  • 드라이버에서 Collection.group() 헬퍼에 대한 지원을 제거합니다.

  • 이 드라이버에는 더 이상 사용되지 않는 GridStore API가 포함되지 않습니다.

이러한 변경 사항에 대한 자세한 내용은 v4.0 변경로그를 참조하세요.

서버 출시 호환성 변경 사항은 MongoDB Server 버전 세트에 대한 지원을 중단하는 드라이버의 수정입니다.

드라이버는 MongoDB 서버 버전이 수명 종료(EOL) 시점에 도달하면 해당 버전에 대한 지원을 중단합니다.

EOL 제품에 대한 MongoDB 지원에 대해 자세히 알아보려면 레거시 지원 정책을 참조하세요.

  • v4.2 드라이버는 MongoDB Server v3.4 및 이전 버전에 대한 지원을 중단합니다. v4.2 드라이버를 사용하려면 MongoDB Server는 v3.6 및 이후 버전이어야 합니다. MongoDB Server 배포를 업그레이드하는 방법을 알아보려면 MongoDB Server 매뉴얼의 릴리스 노트를 참조합니다.

돌아가기

호환성