새로운 기능
이 페이지의 내용
다음 버전의 새로운 기능에 대해 알아보세요:
1.17의 새로운 기능
중요
v1.17 은(는) 최종 계획된 1.x 버전 출시하다 입니다. 이 버전은 보안 및 버그 수정을 받지만 향후 개발 및 기능은 운전자 의 2.x 버전에만 포함됩니다.
1.17 Go 드라이버 릴리스에는 다음과 같은 개선 및 수정 사항이 포함되어 있습니다.
OIDC(OpenID Connect) 인증 에 대한 지원 을 추가합니다. 학습 내용은 엔터프라이즈 인증 메커니즘 가이드 의 MONGODB-OIDC 섹션을 참조하세요.
Queryable Encryption (QE) 범위 쿼리에 대한 지원 을 추가합니다. 이 기능 을 사용하려면 앱 이 MongoDB Server 8.0 이상에 연결되어야 합니다. QE 범위 쿼리에 대한 자세한 내용은 MongoDB Server 매뉴얼의 Queryable Encryption 을 참조하세요.
클라이언트 대량 쓰기 (write) 기능 을 제외하고 MongoDB Server 8.0 에 대한 지원 을 추가합니다.
이름 대신 키 사양을 사용하여 인덱스를 삭제할 수 있도록
DropOneWithKey()
및DropWithKey()
메서드를 포함하도록IndexView
유형을 확장합니다.
이 버전의 변경 사항에 대한 자세한 내용은 v1.17 출시하다 노트 를 Github 참조하세요. 에서 .
1.16의 새로운 기능
1.16 Go 드라이버 릴리스에는 다음과 같은 개선 및 수정 사항이 포함되어 있습니다.
Atlas Search 인덱스 를 생성할 때 인덱스 유형 지정에 대한 지원 을 추가합니다.
zstd
압축 알고리즘 이 활성화되면 메모리 사용량이 줄어듭니다.일부 종속성 요구 사항을 업그레이드합니다. 업그레이드 목록은 v1.16 출시하다 노트의 '업그레이드 종속성' 섹션을 참조하세요.
이러한 변경 사항에 대한 자세한 내용은 v 출시하다 노트 를1.16 참조하세요. Github 에서 .
1.15.1의 새로운 기능
1.15.1 고 (Go) 운전자 패치 출시하다 에는 다음과 같은 개선 사항 및 수정 사항이 포함됩니다.
복제본 세트 클러스터 와의 연결을 끊으면
rttMonitor
연결이 남을 수 있는 연결 누수를 수정합니다.클라이언트 전체 제한 시간 및 작업 제한 시간이 설정하다 경우 읽기 및 집계 작업에
maxTimeMS
값을 수동으로 지정할 수 있는 지원 을 추가합니다.변경 스트림 에서 호출할 수 있는
RemainingBatchLength()
메서드를 추가합니다.
이러한 변경 사항에 대한 자세한 내용은 v 출시하다 노트 를1.15.1 참조하세요. Github 에서 .
1.15의 새로운 기능
1.15 Go 드라이버 릴리스에는 다음과 같은 개선 및 수정 사항이 포함되어 있습니다.
timeoutMS
연결 옵션을 지정하거나 SetTimeout()을 호출하여 클라이언트 전체 시간 제한을 설정하면 연결 이탈을 완화할 수 있습니다. 시간 제한이 설정되면 드라이버는 작업 시간이 초과된 후 연결을 재사용하려고 시도하고 최대 1초 동안 기다렸다가 연결을 재사용할 수 있는지 확인한 후 연결을 닫습니다.연결 풀 이벤트에는 체크아웃 기간 및 연결을 설정하는 데 걸린 총 시간을 측정하는
Duration
필드가 포함됩니다.
1.14의 새로운 기능
1.14 Go 드라이버 릴리스에는 다음과 같은 개선 및 수정 사항이 포함되어 있습니다.
Go 1.18 이전 버전은 더 이상 지원되지 않습니다.
하트비트 시간 초과가 발생하면 진행 중인 작업이 선제적으로 취소됩니다.
"mongodb+srv://"
접두사를 포함하는 연결 문자열은 SRV 호스트 이름에 대문자를 포함할 수 있습니다.
1.13의 새로운 기능
1.13 Go 드라이버 릴리스에는 다음과 같은 개선 및 수정 사항이 포함되어 있습니다.
서버 선택 및 SDAM에 대한 로깅입니다. 로깅에 대해 자세히 알아보려면 로깅 설명서를 참조하세요.
프로그래밍 방식으로 검색 인덱스를 관리할 수 있는
Collection
유형의 메서드입니다.event.CommandStartedEvent
및event.CommandFinishedEvent
이벤트는DatabaseName
필드를 반환합니다. 이 필드는 명령 로깅 아날로그에도 포함되어 있습니다.샤딩된 토폴로지에서 실패한 쿼리를 재시도할 서버를 선택할 때 드라이버는 초기 시도에 사용된 서버를 제외합니다. 대신 적합한
mongos
인스턴스가 두 개 이상 있는 경우 드라이버는 임의로 하나를 선택합니다. 비정상적인 인스턴스는 자동으로 선택에서 제외됩니다.스트리밍 SDAM은 AWS Lambda 및 유사한 서비스형 기능(FaaS) 플랫폼에서 기본적으로 비활성화되어 있습니다.
serverMonitoringMode
URI 옵션을 사용하여 모니터링을 활성화할 수 있습니다.
1.12.1의 새로운 기능
1.12 Go 드라이버 릴리스에는 다음과 같은 개선 및 수정 사항이 포함되어 있습니다.
드라이버는 세션을 종료할 때 연결을 해제합니다. 이렇게 하면 사용자가 로드 밸런서에 연결된 상태에서 트랜잭션을 실행할 때 연결이 유출되는 것을 방지할 수 있습니다.
빈
bson.RawValue
유형을 잘못된 유형으로 언마셜링하거나ReadConcern
인스턴스의nil
포인터를 마셜링할 때 드라이버에서 런타임 오류가 발생하지 않습니다.options.LogComponentAll
을 로그 구성 요소로 올바르게 설정하면 모든 구성 요소에 대한 로그가 게시됩니다.
1.12의 새로운 기능
중요
사용 중단 안내
mongo.NewClient()
및client.Connect()
메서드는 더 이상 사용되지 않습니다.mongo.Connect()
메서드를 사용하여 클라이언트를 만들고 한 번의 호출로 연결할 수 있습니다.
1.12의 새로운 기능. Go 드라이버 릴리스에는 다음이 포함됩니다.
Queryable Encryption
이 드라이버 버전은 Queryable Encryption(QE)에 대한 지원을 추가합니다. QE 기능을 사용하기 위한 요구 사항에 대해 자세히 알아보려면 Queryable Encryption 드라이버 호환성 표를 참조하세요.
ClientEncryption.CreateEncryptedCollection()
메서드는 암호화된 컬렉션을 새로 만들 때 데이터 암호화 키를 자동으로 생성합니다. QE 기능을 사용하는 방법을 알아보려면 서버 매뉴얼의 Quick Start를 참조하세요.
로깅 인터페이스
이제 LogSink
로깅 인터페이스를 사용하여 연결 관리 및 명령 실행 이벤트를 기록할 수 있습니다.
자세히 알아보려면 로깅 기초 가이드를 참조하세요.
추가 BSON 마샬링 옵션
이 드라이버 버전은 options
패키지에 드라이버가 BSON의 마셜링 및 언마셜링 방법을 지정하는 기능을 추가합니다.
다음 예시는 Client
에서 BSON 옵션을 설정하는 방법을 보여줍니다. 옵션은 다음과 같은 동작을 지정합니다.
bson
구조체 태그가 없으면 드라이버는json
구조체 태그로 대체됩니다.드라이버는
nil
Go 맵 유형을 빈 BSON 문서로 마셜링합니다.드라이버는
nil
Go 슬라이스 유형을 빈 BSON 배열로 마셜링합니다.
bsonOpts := &options.BSONOptions{ UseJSONStructTags: true, NilMapAsEmpty: true, NilSliceAsEmpty: true, } options.Client().SetBSONOptions(bsonOpts)
BSONOptions
유형을 지정하고 구현하는 방법에 대한 전체 예는 API 문서를 참조하세요.
간소화된 쓰기 고려 (write concern) 사양
이 드라이버 버전은 WriteConcern
API를 간소화합니다. 변경 사항에 대해 자세히 알아보려면 쓰기 고려를 참조하세요.
추가 변경 사항
EKS에서 AWS IAM 역할로 인증을 지원합니다.
커서를 통해 반복할 때 가져오는 배치의 크기를 지정할 수 있도록
Cursor.SetBatchSize()
메서드가 추가되었습니다.MarshalValue()
메서드로 마샬링된 BSON 값의 ummarshalling을 허용하는UnmarshalValue()
메서드가 추가되었습니다.