드라이버 버전 업그레이드
이 페이지의 내용
개요
이 페이지에서는 드라이버를 새 버전으로 업그레이드하는 방법을 알아볼 수 있습니다. 이 페이지에는 해당되는 경우 기능 손실 없이 드라이버를 업그레이드하기 위해 애플리케이션에서 수행해야 하는 변경 사항도 포함되어 있습니다.
업그레이드 방법
업그레이드하기 전에 다음 작업을 수행하세요:
새 운전자 버전이 애플리케이션 이 연결되는 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 호환성이 손상되는 변경
드라이버 버전 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
라이브러리에 대한 지원을 제거합니다. 드라이버는 더 이상MongoClient
의promiseLibrary
옵션 및 사용자 지정Promise
라이브러리를 지정할 수 있는Promise.set
내보내기를 지원하지 않습니다.드라이버에서
Collection.mapReduce()
헬퍼에 대한 지원을 제거합니다.BulkWriteResult
유형에 더 이상 공개적으로 열거 가능한result
속성이 없습니다.다음 유형, 옵션 및 메서드가 제거되었습니다.
BulkResult.lastOp()
메서드opTime
속성:BulkResult
BulkWriteOptions.keepGoing
옵션WriteConcernError.err()
메서드AddUserOptions.digestPassword
옵션Kerberos
gssapiCanonicalizeHostName
optionslaveOk
다음 항목을 위한 옵션 및 메서드 제거:secondaryOk
ObjectID
선호하는 유형 제거ObjectId
AsyncIterator
다음 항목을 위한 인터페이스 제거:AsyncGenerator
버전 4.x 호환성이 손상되는 변경
드라이버 버전 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 지원에 대해 자세히 알아보려면 레거시 지원 정책을 참조하세요.
버전 4.2 서버 릴리스 지원 변경 사항
v4.2 드라이버는 MongoDB Server v3.4 및 이전 버전에 대한 지원을 중단합니다. v4.2 드라이버를 사용하려면 MongoDB Server는 v3.6 및 이후 버전이어야 합니다. MongoDB Server 배포를 업그레이드하는 방법을 알아보려면 MongoDB Server 매뉴얼의 릴리스 노트를 참조합니다.