새로운 기능
다음 버전의 새로운 기능에 대해 알아보세요:
예정된 호환성이 손상되는 변경
MongoDB 소프트웨어 수명 주기 일정에 따라, 향후 .NET/ C# 드라이버의 마이너 버전은 최소 MongoDB Server 버전을 4.0 에서 4.2으로 올릴 예정입니다. .NET/ C# 드라이버 더 이상 MongoDB Server 4.0을(를) 지원 하지 않습니다.
3.4의 새로운 기능
3.4 운전자 출시하다 에는 다음과 같은 새로운 기능, 개선 사항 및 수정 사항이 포함되어 있습니다.
애그리게이션을 수행할 때 유형을 변환하는
Mql.Convert()
LINQ 메서드를 추가합니다. 자세한 학습 은 LINQ 가이드 의 $convert 섹션을 참조하세요.KeyValuePair.Create()
LINQ 메서드에 대한 지원 추가합니다.집계 빌더 메서드를 추가하여
GeoNear()
$geoNear
집계 단계를 구성합니다. 예제를 보려면 MongoDB Server 매뉴얼에서 $geoNear 참조를 확인하세요.인터페이스에서 LINQ 쿼리에서 해당 인터페이스를 구현하는 형식으로의 캐스팅을 지원합니다.
LINQ에서
Dictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection)
생성자를 지원합니다.Atlas Search 쿼리에 대해 다음 옵션을 추가합니다.
MatchCriteria
SearchTextOptions
에서Text()
연산자 메서드에 전달된 용어에 대한 일치 기준을 설정하다 .Synonyms
SearchPhraseOptions
에서Phrase()
연산자 메서드를 사용할 때 동의어 매핑 정의의 이름을 설정하다 .
Atlas Search 쿼리 수행에 대해 자세히 학습하려면 Atlas Search 가이드를 참조하세요.
IQueryable<Derived>
객체를IQueryable<Base>
로 캐스팅한 후 LINQ 쿼리를 지원합니다.사전 정의된 직렬 변환기 대신 구성된 직렬 변환기를 사용하도록 Atlas Search 연산자 동작을 수정합니다. 이전 동작을 사용하려면 다음 옵션을 설정하다 .
SearchDefinition.UseConfiguredSerializers(false);
이 출시하다 에 대한 자세한 내용은 Github 의 v3.4 출시하다 노트 를 참조하세요.
3.3의 새로운 기능
3.3 드라이버 릴리스에는 다음과 같은 새로운 기능이 포함되어 있습니다.
ChangeStreamDocument
클래스의create
이벤트에 대해 생성된 객체 의 유형을 나타내는 새NamespaceType
필드 추가합니다. 변경 스트림에 대해 자세히 학습 데이터 변경 모니터링 가이드 참조하세요.다음과 같은 사용 중 암호화 기능을 추가합니다.
$lookup 집계 단계 지원
데이터 암호화 키 캐시 수명을 구성하는
ClientEncryptionOptions
속성 입니다.
사용 중 암호화 에 대해 자세히 학습 사용 중 암호화 가이드 참조하세요.
다음 LINQ 기능을 추가합니다.
여러 파이프라인의 결합된 결과에 순위 기반 결과 점수를 부여할 수 있는
$rankFusion
집계 단계에 대한 지원 추가합니다.필터하다 매개변수만 사용하는
ElemMatch()
메서드의 오버로드를 제공하여 값에 대해 직접 $elemMatch 쿼리에 대한 지원 추가합니다. 자세히 학습 빌더 가이드 의 배열 연산자 섹션을 참조하세요.OfType<T>()
메서드 및is
연산자 사용하여 스칼라 판별자의 유형을 확인하는 기능에 대한 지원 추가합니다.
이 출시하다 에 대한 자세한 내용은 Github 의 v3.3 출시하다 노트를 참조하세요.
3.2의 새로운 기능
3.2 드라이버 릴리스에는 다음과 같은 새로운 기능이 포함되어 있습니다.
객체 직렬 변환기에서 직렬화 및 역직렬화를 허용하는 유형을 지정할 수 있는 새로운
ObjectSerializerAllowedTypesConvention
규칙을 추가합니다. 규칙에 대해 자세히 학습 규칙 가이드 참조하세요.EnumRepresentationConvention
클래스에 대한 새 생성자를 추가하여topLevelOnly
매개 변수를 사용하여 규칙을 열거형 속성에만 적용할지 아니면 열거형 컬렉션을 포함하는 모든 속성에 적용할지 여부를 지정할 수 있습니다.다음 예시 와 같이 새 생성자를 사용하여
EnumRepresentationConvention
클래스를 인스턴스화할 수 있습니다.EnumRepresentationConvention(BsonType representation, bool topLevelOnly); 모든 필드를 검색한 다음 필터링하는 대신 서버 에서 필수 필드만 조회 하도록 클라이언트 사이드 프로젝션을 최적화합니다.
Atlas Vector Search 에서 이진 벡터 표현을 지원 위해 다음 클래스를 추가합니다.
BinaryVectorFloat32
BinaryVectorInt8
BinaryVectorPackedBit
.NET/ C# 드라이버 사용한 Atlas Vector Search 에 대해 자세히 학습하려면 Atlas Vector Search 가이드를 참조하세요.
DocumentFormat
속성DateOnlySerializer
에 추가합니다. 이 속성 사용하면 운전자DateOnly
값을 직렬화하는 방식을 사용자 지정할 수 있습니다. 또한 이 출시하다 에는[BsonDateOnlyOptions()]
속성이 추가되어 속성 수준에서DateOnly
값에 대한 직렬화 동작을 사용자 지정할 수 있습니다. 자세히 학습하려면 POCO 가이드의 Custom DateOnly 직렬화 섹션을 참조하세요.
이 출시하다 에 대한 자세한 내용은 Github 의 v3.2 출시하다 노트를 참조하세요.
3.1의 새로운 기능
3.1 드라이버 릴리스에는 다음과 같은 새로운 기능이 포함되어 있습니다.
System.Collections.Immutable 네임스페이스 의 변경할 수 없는 컬렉션에 대한 새로운 기본값 직렬 변환기를 추가합니다. 이제 운전자
ImmutableArray
객체를 직렬화할 수 있으며, 다른 변경할 수 없는 컬렉션에 대한 직렬화는 메모리 효율적입니다.프로그래밍 방식으로 Atlas Vector Search 인덱스 생성을 지원 위해
SearchIndexType
유형을 추가합니다. 자세한 학습은 Atlas Search 및 Vector Search 인덱스 가이드 참조하세요.equals
연산자 에 대한 Atlas Search 빌더 사용하여 토큰 필드 유형 및 배열 필드 표현식에 대한 지원 추가합니다. .NET/ C# 드라이버 와 함께 Atlas Search 사용하는 방법에 대해 자세히 학습 Atlas Search 참조하세요.다음 Atlas Search 쿼리에 대한 지원 추가합니다.
null
및Guid
값에Equals()
연산자 메서드 사용Guid
값에In()
연산자 메서드 사용
이러한 메서드에 대해 자세히 학습하려면 Atlas Search 가이드의 Atlas Search 연산자 및 수집기 섹션을 참조하세요.
Atlas Search 에서 순차적 페이지 매김에 대한 지원 추가합니다.
3 개 미만의 부분으로 구성된 유효한 SRV 호스트 이름에 대한 지원 추가합니다.
MongoDB 쿼리 API 필터에서
Exists
,IsMissing
및IsNullOrMissing
메서드에 대한 지원 추가합니다.정확한 인접 이웃(ENN) 벡터 검색 에 대한 지원 추가합니다. ENN 벡터 검색에 대해 자세히 학습 Atlas Search 문서에서 벡터 검색 쿼리 실행을 참조하세요.
업데이트 및 바꾸기 작업을 위한 정렬 옵션을 추가합니다. 이 변경을 통해 단일 문서 업데이트 하거나 바꾸려고 할 때 여러 문서가 필터하다 와 일치하는 경우 정렬 순서를 설정하다 수 있습니다. 자세한 학습 은 업데이트 1 및 문서 교체 가이드를 참조하세요.
이 출시하다 에 대한 자세한 내용은 v3.1 출시하다 노트를 참조하세요.
3.0의 새로운 기능
3.0 드라이버 릴리스에는 다음과 같은 새로운 기능이 포함되어 있습니다.
LINQ 쿼리를 Query API 로 변환하기 위한 옵션을 지정하는
MongoClientSettings.TranslationOptions
연결 옵션을 추가합니다. 자세한 내용은 연결 옵션을 참조하세요.반정밀도 부동 소수점 숫자를 나타내는
Half
유형에 대한 지원 을 추가합니다. 이 유형은 .NET 5 이상에서 사용할 수 있습니다. 유형에Half
학습 보려면 MSDN의 절반 구조 API 참조 페이지를 참조하세요.IMongoClient
인터페이스는IDisposable
인터페이스를 상속합니다. 따라서MongoClient
클래스와IMongoClient
인터페이스를 구현 하는 기타 클래스에는 클라이언트 를 삭제하는Dispose()
메서드가 포함되어 있습니다. 이 방법은 기본 클러스터 와 MongoDB 서버 에 대한 연결을 삭제하지 않습니다. 클러스터 및 연결을 삭제하려면ClusterRegistry.UnregisterAndDisposeCluster()
메서드를 호출합니다.IDisposable
인터페이스의 구현 은 실험적입니다.인터페이스
IDisposable
및 메서드 사용에Dispose()
학습 보려면 MSDN의 패턴 삭제를 참조하세요.시간 구성 요소가 없는 날짜 값을 나타내는
DateOnly
유형에 대한 지원 을 추가합니다. 이 유형은 .NET 6 이상에서 사용할 수 있습니다. 유형에 학습DateOnly
보려면 DateOnly 구조체를 참조하세요. MSDN의 API 참조 페이지입니다.날짜 구성 요소가 없는 시간 값을 나타내는
TimeOnly
유형에 대한 지원 을 추가합니다. 이 유형은 .NET 6 이상에서 사용할 수 있습니다. 유형에TimeOnly
학습 보려면 TimeOnly 구조체를 참조하세요. MSDN의 API 참조 페이지입니다.LINQ3 제공자 와 함께
Find()
메서드,Select()
메서드 또는Project()
집계 단계를 사용할 때 암시적 클라이언트 사이드 프로젝션 에 대한 지원 을 추가합니다. 이전 버전의 운전자 에서는ToEnumerable()
또는AsEnumerable()
메서드를 호출한 후에만 LINQ3 제공자 를 사용하여 클라이언트 사이드 프로젝션 을 수행할 수 있었습니다.운전자 메서드에 대한 클라이언트 사이드 프로젝션 을 활성화 하고 사용하는 방법을 학습 보려면 해당 탭 을 선택합니다.
// Enable client-side projection var findOptions = new FindOptions(); findOptions.TranslationOptions = new ExpressionTranslationOptions { EnableClientSideProjections = true }; var find = collection .Find(doc => doc.Id == 1, findOptions); .Project(doc => new { R = MyFunction(doc.Name) }); // Enable client-side projection var aggregateOptions = new AggregateOptions(); aggregateOptions.TranslationOptions = new ExpressionTranslationOptions { EnableClientSideProjections = true }; var queryable = collection .AsQueryable(aggregateOptions) .Where(doc => doc.Id == 1) .Select(doc => new { R = MyFunction(doc.Name) }); // Enable client-side projection var aggregateOptions = new AggregateOptions(); aggregateOptions.TranslationOptions = new ExpressionTranslationOptions { EnableClientSideProjections = true }; var aggregate = collection .Aggregate(aggregateOptions) .Project(doc => new { R = MyFunction(doc.Name) }); 팁
MongoClientSettings
클라이언트의 모든 쿼리에 대해 클라이언트 클라이언트 사이드 프로젝션 을 활성화 하려면 다음 예시 와 같이
MongoClientSettings
객체 의TranslationOptions
속성 을 설정하다 합니다.clientSettings.TranslationOptions = new ExpressionTranslationOptions { EnableClientSideProjections = true }; .NET/ C# 드라이버 와 함께 집계 파이프라인 을 사용하는 방법에 학습 보려면 애그리게이션을 참조하세요.
대량 쓰기 (write) 작업을 위한
MongoClient
API 를 추가합니다. 대량 쓰기 작업에 학습 보려면 대량 쓰기 (write) 작업을 참조하세요.
이 출시하다 에 대한 자세한 내용은 v3.0 출시하다 노트를 참조하세요.
2.30의 새로운 기능
2.30 운전자 에는 새로운 기능이나 버그 수정이 도입되지 않습니다. 그 목적은 v3.0 에서 제거된 공용 API를 더 이상 사용되지 않는 것으로 표시하여 .NET/ C# 드라이버 의 v3.x로 쉽게 마이그레이션 하는 것입니다.
2.29의 새로운 기능
2.29 운전자 출시하다 에는 MongoDB Server 버전 8.0 에 대한 지원 이 추가되었으며 다음과 같은 새로운 기능이 포함되어 있습니다.
Queryable Encryption 범위 프로토콜 의 v2 에 대한 지원 을 추가합니다.
Queryable Encryption 에 대한 범위 인덱스에 대한 지원 을 추가합니다. Queryable Encryption 에 대한 자세한 내용은 MongoDB Server 매뉴얼의 Queryable Encryption 을 참조하세요.
이 출시하다 에 대한 자세한 내용은 v2.29 출시하다 노트를 참조하세요.
2.28의 새로운 기능
경고
v2.28의 잠재적인 단절적 변경 사항
모든 .NET/ C# 드라이버 구성 요소에는 강력한 이름이 지정됩니다. 애플리케이션 에 여러 .NET/ C# 드라이버 버전을 참조하는 종속성이 있는 경우 바인딩 리디렉션을 생성하여 이러한 종속성을 관리 해야 합니다. 자세한 내용은 버전 2.28.0 단절적 변경 사항을 참조하세요.
2.28 드라이버 릴리스에는 다음과 같은 새로운 기능이 포함되어 있습니다.
Nullable<T>
과 관련된 추가 숫자 변환에 대한 지원 을 추가합니다.CSFLE 또는 Queryable Encryption에 KMIP를 사용할 때
delegated
옵션에 대한 지원 을 추가합니다.
이 출시하다 에 대한 자세한 내용은 v2.28 출시하다 노트를 참조하세요.
2.27의 새로운 기능
2.27 드라이버 릴리스에는 다음과 같은 새로운 기능이 포함되어 있습니다.
$sample
집계 연산자 에 대한 지원 을 추가합니다.LINQ3 에서 직렬 변환기에 대한
Equals()
메서드를 구현합니다.오류를 방지하기 위해 읽기 및 쓰기 (write) 고려가 Atlas Search 인덱스 헬퍼 명령에 적용되지 않도록 합니다.
MONGODB-OIDC
인증 메커니즘 을 사용할 때authMechanismProperties
연결 string 값에 쉼표 문자를 사용할 수 없습니다.크기가 다른 숫자가 포함된 직렬화 중 오류를 일으킨 번역 버그를 수정합니다.
libdl.so.2
라이브러리를 사용하는 Linux 배포판에 대한 지원 을 추가합니다.
이 출시하다 에 대한 자세한 내용은 v2.27 출시하다 노트를 참조하세요.
2.26의 새로운 기능
2.26 드라이버 릴리스에는 다음과 같은 새로운 기능이 포함되어 있습니다.
Select()
및Project()
집계 단계 내에서SelectMany()
집계 메서드 사용에 대한 지원 이 추가되었습니다.LINQ 쿼리에서
Dictionary.ContainsValue()
호출에 대한 지원 이 추가되었습니다.혼합 유형의 string 연결에 대한 지원 이 추가되었습니다.
libmongocrypt
바인딩에서 네이티브crypto
사용을 활성화했습니다.Memory
및ReadOnlyMemory
구조체의 직렬화 지원 추가되었습니다. 이러한 유형을 구현하는 방법에 대해 자세히 학습하려면 직렬화 가이드의 배열 직렬화 성능 향상 섹션을 참조하세요.MONGODB-OIDC
인증 메커니즘 을 사용할 때 GCP ID 제공자에 대한 지원 이 추가되었습니다. 학습 내용은 엔터프라이즈 인증 메커니즘 가이드 에서 GCP IMDS 를 참조하세요.NuGet 패키지 서명을 구현했습니다.
가능한 경우 다른
mongos
인스턴스에 대한 읽기 및 쓰기 (write) 재시도를 구현했습니다.
2.25의 새로운 기능
2.25 드라이버 릴리스에는 다음과 같은 새로운 기능이 포함되어 있습니다.
Azure ID 공급자에 대한
MONGODB-OIDC
인증 메커니즘 및 자동 토큰 획득에 대한 지원이 추가되었습니다.BsonClassMapSerializer
에서 일치하는 작성자를 찾을 수 없을 때 보고되는 오류 메시지에 클래스 이름이 추가되었습니다.LINQ 쿼리 를 수행한 후 실행된 MQL 을 표시하기 위해
LoggedStages
필드 가 추가되었습니다.srvServiceName
연결 옵션을 사용하여"mongodb"
서비스 이름을 사용자 지정 이름으로 재정의하기 위한 지원 추가되었습니다. 자세한 학습 은 연결 옵션 가이드 참조하세요.requests 매개변수가 두 번 이상 열거되지 않도록 대량 쓰기 (write) 작업의 동작이 개선되었습니다.