드라이버 버전 업그레이드
이 페이지의 내용
개요
이 페이지에서는 드라이버를 새 버전으로 업그레이드하는 방법을 알아볼 수 있습니다. 이 페이지에는 해당되는 경우 기능 손실 없이 드라이버를 업그레이드하기 위해 애플리케이션에서 수행해야 하는 변경 사항도 포함되어 있습니다.
업그레이드 방법
업그레이드하기 전에 다음 작업을 수행하세요:
새 운전자 버전이 애플리케이션 이 연결되는 MongoDB Server 버전 및 애플리케이션 이 실행되는 Node.js 버전과 호환되는지 확인합니다. 이 정보는 호환성 페이지를 참조하세요.
이 가이드의 호환성이 손상되는 변경 섹션에서 애플리케이션에서 현재 사용 중인 드라이버 버전과 계획된 업그레이드 버전 간의 호환성이 손상되는 변경을 해결하세요. MongoDB Server 릴리스 호환성 변경 사항에 대해 자세히 알아보려면 MongoDB Server 릴리스 호환성 변경 사항 섹션을 참조하세요.
팁
Stable API를 사용하여 드라이버 버전을 업그레이드할 때 애플리케이션에 적용해야 하는 변경 사항을 최소화할 수 있습니다.
드라이버 버전을 업그레이드하려면 애플리케이션 디렉토리에서 다음 명령을 실행하세요.
npm install mongodb@6.10
다른 버전의 운전자 로 업그레이드 하려면 @
기호 뒤의 정보를 원하는 버전 번호로 바꾸세요. 명령에 대한 자세한 내용은 npm install
npm-install npm 설명서를 참조하세요.
호환성이 손상되는 변경
호환성이 손상되는 변경이란 특정 버전의 드라이버에 적용되는 규칙이나 동작의 수정으로, 애플리케이션이 제대로 작동하는 걸 방해할 수 있습니다.
이 섹션의 호환성이 손상되는 변경은 이를 도입한 드라이버 버전별로 분류됩니다. 드라이버 버전을 업그레이드할 때 현재 버전과 업그레이드 버전 간의 호환성이 손상되는 변경을 모두 확인합니다. 예를 들어 드라이버를 v3.x 에서 v5.x로 업그레이드하는 경우 v4.0 및 v5.0 아래에 나열된 모든 호환성이 손상되는 변경을 해결합니다.
버전 6.0 호환성이 손상되는 변경
Node.js 드라이버 버전 6.0을 사용하려면 Node.js v16.20.1 이상이 필요합니다.
드라이버에서
addUser()
헬퍼 명령에 대한 지원을 제거합니다. 대신 createUser MongoDB Shell 명령을 사용하세요.드라이버에서
collStats
작업에 대한 지원을 제거합니다. 대신 $collStats 집계 연산자를 사용합니다.드라이버는 더 이상 사용되지 않는
ssl
접두사 옵션과MongoClientOptions
유형의tlsCertificateFile
옵션을 모두 제거합니다. 대신SecureContext
객체를 만들거나MongoClientOptions
인스턴스에서tls
-접두사가 붙은 옵션을 설정하세요.드라이버는
MongoClient
인스턴스를 생성할 때가 아니라MongoClient.connect()
메서드를 호출할 때tlsCAFile
및tlsCertificateKeyFile
연결 옵션에 설정된 파일을 읽습니다.드라이버가
keepAlive
및keepAliveInitialDelay
연결 옵션을 제거합니다.keepAlive
값은 영구적으로true
로 설정되고keepAliveInitialDelay
값은 300000 밀리초(300초)로 설정됩니다.Db.command()
메서드는 특정 명령과 관련이 없는 옵션만 허용합니다. 이 같은 옵션을 자세히 알아보려면 명령 실행 가이드의 명령어 명령 옵션(Command Options) 섹션을 참조하세요.mongodb-client-encryption
을 종속성으로 추가하는 경우 주요 버전 번호가 Node.js 드라이버의 주요 버전 번호와 일치해야 합니다. 예를 들어 Node.js 드라이버 v6.xx에는mongodb-client-encryption
v6.xx가 필요합니다.이제 자동 암호화 메서드가 Node.js 드라이버에 추가되었습니다. 이러한 메서드는
mongodb-client-encryption
가 아니라 드라이버에서 가져와야 합니다.12자 문자열을 허용하는
ObjectId
생성자를 제거했습니다.원본 명령 결과 대신
null
을 반환하도록abortTransaction()
및commitTransaction()
메서드를 수정했습니다.true
또는false
이외의 값을 부울로 허용하는 연결 옵션 헬퍼를 제거했습니다. 연결 문자열이나 MongoClient 생성자에true
또는false
값을 제공해야 합니다.문자열을 허용하는
Binary
BSON type 생성자를 제거했습니다.Binary.write()
메서드는 더 이상 이진 BSON 객체에 쓸 문자열을 허용하지 않습니다.ClientEncryption API는 콜백 대신 프로미스를 반환합니다.
SOCKS5 프록시 지원을 활성화하는
socks
패키지는 피어 옵션 종속성입니다. 애플리케이션에서 SOCKS5를 활성화하려면 패키지를 설치해야 합니다. 자세한 내용은 SOCKS5 프록시 지원 활성화를 참조하세요.클라이언트에서 세션을 시작한 다음 세션을 다른 클라이언트로 전달하면 해당 세션에서 작업을 수행할 때 드라이버에서 오류가 발생합니다.
복합 연산 메서드의
includeResultMetadata
옵션은 기본적으로false
입니다. 자세한 내용은 복합 연산 가이드의 내장 메서드 섹션을 참조하세요.withSession()
메서드는 제공된 함수가 반환하는 값을 반환합니다. 이전 드라이버 버전에서는 이 메서드가undefined
를 반환합니다.withTransaction()
메서드는 콜백이 반환하는 값을 반환합니다. 이전 드라이버 버전에서 이 메서드는 드라이버가 연결되는 MongoDB 서버 버전이나 유형에 따라 달라지는 서버 명령 응답을 반환합니다. 트랜잭션에 대해 자세히 알아보려면 트랜잭션 수행 사용 예시 및 트랜잭션 가이드를 참조하세요.옵션이었던
kerberos
종속성 최소 버전을 2.0.1로 높이고 버전 1.x에 대한 지원을 중단했습니다.선택적
zstd
종속성 최소 버전을 1.1.0으로 상향했습니다.
버전 5.0 주요 변경 사항
드라이버는 더 이상 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.0 호환성이 손상되는 변경
드라이버는 더 이상 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 매뉴얼의 릴리스 노트를 참조합니다.