Docs Menu
Docs Home
/ / /
C#/.NET

새로운 기능

이 페이지의 내용

  • 3.1의 새로운 기능
  • 3.0의 새로운 기능
  • 2.30의 새로운 기능
  • 2.29의 새로운 기능
  • 2.28의 새로운 기능
  • 2.27의 새로운 기능
  • 2.26의 새로운 기능
  • 2.25의 새로운 기능
  • 2.24의 새로운 기능
  • 2.23의 새로운 기능
  • 2.22의 새로운 기능

다음 버전의 새로운 기능에 대해 알아보세요:

  • 3.1버전

  • 버전 3.0

  • 2.30버전

  • 2.29버전

  • 2.28버전

  • 2.27버전

  • 2.26버전

  • 2.25버전

  • 버전 2.24

  • 2.23버전

  • 버전 2.22

3.1 드라이버 릴리스에는 다음과 같은 새로운 기능이 포함되어 있습니다.

  • System.Collections.Immutable 네임스페이스 에 변경할 수 없는 컬렉션에 대한 새로운 기본값 직렬 변환기를 추가합니다. 이제 운전자 ImmutableArray 객체를 직렬화할 수 있으며 다른 변경할 수 없는 컬렉션에 대한 직렬화가 메모리 효율적입니다.

  • equals 연산자 에 대한 Atlas Search 빌더 사용하여 토큰 필드 유형 및 배열 필드 표현식에 대한 지원 추가합니다. .NET/ C# 드라이버 와 함께 Atlas Search 사용하는 방법에 대해 자세히 학습 Atlas Search 참조하세요.

  • Atlas Search 에서 순차적 페이지 매김에 대한 지원 추가합니다.

  • 3 개 미만의 부분으로 구성된 유효한 SRV 호스트 이름에 대한 지원 추가합니다.

  • MongoDB 쿼리 API 필터에서 Exists, IsMissingIsNullOrMissing 메서드에 대한 지원 추가합니다.

  • 정확한 인접 이웃(ENN) 벡터 검색 에 대한 지원 추가합니다. ENN 벡터 검색에 대해 자세히 학습 Atlas Search 문서에서 벡터 검색 쿼리 실행을 참조하세요.

  • 업데이트 명령에 전달할 sort 옵션에 대한 지원 추가합니다. .NET/ C# 드라이버 에서 업데이트 명령을 사용하는 방법에 대해 자세히 학습 csharp-change-guide를 참조하세요.

이 출시하다 에 대한 자세한 내용은 v3.1 출시하다 노트를 참조하세요.

경고

v3.0의 단절적 변경 사항

v3.0 운전자 에 호환성이 손상되는 변경이 포함되어 있습니다. 자세한 내용은 버전 단절적 변경 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 운전자 에는 새로운 기능이나 버그 수정이 도입되지 않습니다. 그 목적은 v3.0 에서 제거된 공용 API를 더 이상 사용되지 않는 것으로 표시하여 .NET/ C# 드라이버 의 v3.x로 쉽게 마이그레이션 하는 것입니다.

2.29 운전자 출시하다 에는 MongoDB Server 버전 8.0 에 대한 지원 이 추가되었으며 다음과 같은 새로운 기능이 포함되어 있습니다.

  • Queryable Encryption 범위 프로토콜 의 v2 에 대한 지원 을 추가합니다.

  • Queryable Encryption 에 대한 범위 인덱스에 대한 지원 을 추가합니다. Queryable Encryption 에 대한 자세한 내용은 MongoDB Server 매뉴얼의 Queryable Encryption 을 참조하세요.

이 출시하다 에 대한 자세한 내용은 v2.29 출시하다 노트를 참조하세요.

경고

v2.28의 잠재적인 단절적 변경 사항

  • 모든 .NET/ C# 드라이버 구성 요소에는 강력한 이름이 지정됩니다. 애플리케이션 에 여러 .NET/ C# 드라이버 버전을 참조하는 종속성이 있는 경우 바인딩 리디렉션을 생성하여 이러한 종속성을 관리 해야 합니다. 자세한 내용은 버전 2.28.0 단절적 변경 사항을 참조하세요.

2.28 드라이버 릴리스에는 다음과 같은 새로운 기능이 포함되어 있습니다.

  • Nullable<T> 과 관련된 추가 숫자 변환에 대한 지원 을 추가합니다.

  • CSFLE 또는 Queryable Encryption에 KMIP를 사용할 때 delegated 옵션에 대한 지원 을 추가합니다.

이 출시하다 에 대한 자세한 내용은 v2.28 출시하다 노트를 참조하세요.

2.27 드라이버 릴리스에는 다음과 같은 새로운 기능이 포함되어 있습니다.

  • $sample 집계 연산자 에 대한 지원 을 추가합니다.

  • LINQ3 에서 직렬 변환기에 대한 Equals() 메서드를 구현합니다.

  • 오류를 방지하기 위해 읽기 및 쓰기 (write) 고려가 Atlas Search 인덱스 헬퍼 명령에 적용되지 않도록 합니다.

  • MONGODB-OIDC 인증 메커니즘 을 사용할 때 authMechanismProperties 연결 string 값에 쉼표 문자를 사용할 수 없습니다.

  • 크기가 다른 숫자가 포함된 직렬화 중 오류를 일으킨 번역 버그를 수정합니다.

  • libdl.so.2 라이브러리를 사용하는 Linux 배포판에 대한 지원 을 추가합니다.

이 출시하다 에 대한 자세한 내용은 v2.27 출시하다 노트를 참조하세요.

2.26 드라이버 릴리스에는 다음과 같은 새로운 기능이 포함되어 있습니다.

  • Select()Project() 집계 단계 내에서 SelectMany() 집계 메서드 사용에 대한 지원 이 추가되었습니다.

  • LINQ 쿼리에서 Dictionary.ContainsValue() 호출에 대한 지원 이 추가되었습니다.

  • 혼합 유형의 string 연결에 대한 지원 이 추가되었습니다.

  • libmongocrypt 바인딩에서 네이티브 crypto 사용을 활성화했습니다.

  • MemoryReadOnlyMemory 구조체의 직렬화 지원 이 추가되었습니다.

  • MONGODB-OIDC 인증 메커니즘 을 사용할 때 GCP ID 제공자에 대한 지원 이 추가되었습니다. 학습 내용은 엔터프라이즈 인증 메커니즘 가이드 에서 GCP IMDS 를 참조하세요.

  • NuGet 패키지 서명을 구현했습니다.

  • 가능한 경우 다른 mongos 인스턴스에 대한 읽기 및 쓰기 (write) 재시도를 구현했습니다.

2.25 드라이버 릴리스에는 다음과 같은 새로운 기능이 포함되어 있습니다.

  • Azure ID 공급자에 대한 MONGODB-OIDC 인증 메커니즘 및 자동 토큰 획득에 대한 지원이 추가되었습니다.

  • BsonClassMapSerializer 에서 일치하는 작성자를 찾을 수 없을 때 보고되는 오류 메시지에 클래스 이름이 추가되었습니다.

  • LINQ 쿼리 를 수행한 후 실행된 MQL 을 표시하기 위해 LoggedStages 필드 가 추가되었습니다.

  • srvServiceName 연결 옵션을 사용하여 "mongodb" 서비스 이름을 사용자 지정 이름으로 재정의하기 위한 지원이 추가되었습니다.

  • requests 매개변수가 두 번 이상 열거되지 않도록 대량 쓰기 (write) 작업의 동작이 개선되었습니다.

2.24 드라이버 릴리스에는 다음과 같은 새로운 기능이 포함되어 있습니다.

  • IMongoCollection.DistinctMany() 를 추가했습니다. 메서드.

  • $dateFromString 애그리게이션 표현식에 대한 최신 선택적 인수에 대한 지원이 추가되었습니다.

  • $search 애그리게이션 단계에서 점수별 정렬 지원이 추가되었습니다.

  • $vectorSearch 집계 단계에 대한 VectorSearchScore 빌더를 추가했습니다.

  • Atlas Search에서 $in 연산자에 대한 지원이 추가되었습니다.

  • LINQ 쿼리에 대한 Mql.Exists(), Mql.IsMissing()Mql.IsNullOrMissing() 메서드가 추가되었습니다.

  • LINQ 쿼리에서 IComparable.CompareTo() 메서드에 대한 지원 이 추가되었습니다.

  • MongoDB Entity Framework Core Provider의 LINQ 쿼리를 지원하기 위해 AsQueryable() 메서드에 대한 중첩 호출에 대한 지원이 추가되었습니다.

  • TLS 1.3 에 대한 지원이 추가되었습니다.

  • libmongocrypt 패키지 버전을 1.8.2 로 업데이트했습니다.

  • 최신 Linux 배포판에서 Kerberos(libgssapi)의 세그폴트를 수정했습니다.

  • 동일한 ID를 가진 더 큰 파일도 업로드된 경우 파일을 다운로드하면 오류가 발생하는 GridFS 버그가 수정되었습니다.

  • 이제 읽기 및 쓰기 작업 모두에 대해 ExceededTimeLimit 서버 오류를 다시 시도할 수 있습니다.

  • Amazon Web Services Lambda와 같은 FaaS(서비스로서의 기능) 환경 내에서 실행할 때 드라이버는 이제 폴링 모니터링 메커니즘을 사용합니다.

  • MongoDB Atlas 서버리스 호환성을 개선하기 위해 이제 운전자 는 서버 가 지원하는 경우 인증 에 OP_MSG를 사용합니다.

2.23 드라이버 릴리스에는 다음과 같은 새로운 기능이 포함되어 있습니다.

  • LINQ3 통합이 개선되고 버그가 수정되었습니다.

  • 애그리게이션 비트 연산자에 대한 지원이 추가되었습니다.

  • MongoDB time series 컬렉션에서 $out 연산자에 대한 지원이 추가되었습니다.

  • ChangeStreamSplitLargeEvent 추가 16 MB보다 큰 변경 스트림 이벤트를 처리하다 합니다.

2.22 드라이버 릴리스에는 다음과 같은 새로운 기능이 포함되어 있습니다.

  • LINQ3 통합이 개선되고 버그가 수정되었습니다.

  • $set$vectorSearch 애그리게이션 단계에 대한 지원이 추가되었습니다.

  • Atlas Search 에 대한 동의어 지원 이 추가되었습니다.

  • 암호화 사용 시 메모리 할당 감소.

  • 서버 검색 및 모니터링 (SDAM) 이벤트에 대한 로깅 메시지가 추가되었습니다. 이러한 이벤트에 대한 자세한 내용은 MongoDB SDAM 로깅 및 모니터링 사양을 참조하세요.

돌아가기

빠른 참조