Descubra as novidades de cada versão:
Novidades no 3.2
A versão do driver 3.2 inclui as seguintes novas funcionalidades:
Adiciona uma nova convenção do
ObjectSerializerAllowedTypesConventionque permite a você especificar quais tipos podem ser serializados e desserializados pelo serializador de objeto . Para saber mais sobre convenções, consulte o guia de Convenções do .Adiciona um novo construtor para a classe
EnumRepresentationConventionque permite usar o parâmetrotopLevelOnlypara especificar se a convenção se aplica somente a propriedades enumeração ou a todas as propriedades que incluem coleções de enums.Você pode instanciar a classe
EnumRepresentationConventionutilizando o novo construtor como mostrado no seguinte exemplo:EnumRepresentationConvention(BsonType representation, bool topLevelOnly); Otimiza as projeções no lado do cliente para recuperar somente os campos necessários do servidor, em vez de recuperar todos os campos e filtrá-los.
Adiciona as seguintes classes para suportar representações de vetores binários na Vector Search do MongoDB :
BinaryVectorFloat32BinaryVectorInt8BinaryVectorPackedBit
Para saber mais sobre a Vector Search do MongoDB com o driver .NET /C#, consulte o guia Executar uma query de Vector Search do MongoDB .
Adiciona a propriedade
DocumentFormataoDateOnlySerializer. Esta propriedade permite a você personalizar a maneira como o driver serializa os valores doDateOnly. Esta versão também adiciona o atributo[BsonDateOnlyOptions()]para personalizar o comportamento de serialização para valoresDateOnlyno nível da propriedade . Para saber mais, consulte a seção Custom DateOnly Serialization do guia POCOs.
Novidades no 3.1
A versão do driver 3.1 inclui as seguintes novas funcionalidades:
Adiciona novos serializadores padrão para coleções imutáveis no namespace System.Collections.Immutable. O driver agora pode serializar objetos
ImmutableArraye a serialização para outras collections imutáveis é mais eficiente em termos de memória.Adiciona o
SearchIndexTypetipo para suportar a criação de índices do MongoDB Vector Search programaticamente. Para saber mais, consulte o guia de índices do MongoDB Search e do MongoDB Vector Search .Adiciona suporte para o tipo de campo de token e expressões de campo de array com construtores de Pesquisa MongoDB para o
equalsoperador. Para saber mais sobre como usar o MongoDB Search com o driver .NET/C#, consulte MongoDB Search.Adiciona suporte para as seguintes queries do MongoDB Search:
Usando o método do operador
Equals()em valoresnulleGuidUsando o método do operador
In()em valoresGuid
Para saber mais sobre esses métodos, consulte a seção Operadores e coletores de pesquisa do MongoDB do guia de pesquisa do MongoDB .
Adiciona suporte para paginação sequencial na Pesquisa MongoDB .
Adiciona suporte para nomes de host SRV válidos com menos de 3 partes.
Adiciona suporte para os métodos
Exists,IsMissingeIsNullOrMissingem filtros de MongoDB Query API .Adiciona suporte para a pesquisa vetorial do vizinho exato (ENN). Para saber mais sobre a Vector Search ENN, consulte Executar queries de Vector Search na documentação do MongoDB Search.
Adiciona uma opção de classificação para atualização e substituição de operações. Essa alteração permite que você defina uma ordem de classificação se vários documentos corresponderem ao seu filtro ao tentar atualizar ou substituir um único documento. Para saber mais, consulte os guias Atualizar um e Atualizar muitos.
Para obter mais informações sobre esta versão, consulte as notas de versão v3.1.
Novidades no 3.0
Aviso
Alterações significativas na v3.0
O driver v3.0 contém alterações significativas. 3.0 Consulte as Alterações significativas na versão para obter mais informações.
A versão do driver 3.0 inclui as seguintes novas funcionalidades:
Adiciona a opção de conexão
MongoClientSettings.TranslationOptions, que especifica opções para traduzir queries LINQ para a API de query. Consulte Especificar opções de conexão para obter mais informações.Adiciona suporte para o tipo
Half, que representa um número de ponto flutuante de meia precisão. Este tipo está disponível no .NET 5 e posterior. Para saber mais sobre o tipoHalf, consulte a página de referência da API Meia Estrutura no MSDN.A interface
IMongoClientherda a interfaceIDisposable. Como resultado, a classeMongoCliente outras classes que implementam a interfaceIMongoClientcontêm uma opçãoDisp- Adds support for the ``sorta ser passada para atualizar os comandos.ose()'' método , que descarta o cliente. Este método não descarta o cluster subjacente e conexões com o servidor MongoDB . Para descartar o cluster e as conexões, chame o métodoClusterRegistry.UnregisterAndDisposeCluster(). A implementação da interfaceIDisposableé experimental.Para saber mais sobre a interface
IDisposablee o uso do métodoDispose(), consulte Padrão de descarte no MSDN.Adiciona suporte para o tipo
DateOnly, que representa um valor de data sem nenhum componente de tempo. Este tipo está disponível no .NET 6 e posterior. Para saber mais sobre o tipoDateOnly, consulte a estrutura DateOnly. Página de referência da API no MSDN.Adiciona suporte para o tipo
TimeOnly, que representa um valor de tempo sem componente de data. Este tipo está disponível no .NET 6 e posterior. Para saber mais sobre o tipoTimeOnly, consulte a estrutura TimeOnly. Página de referência da API no MSDN.Adiciona suporte para projeção implícita no lado do cliente ao usar o método
Find(), o métodoSelect()ou o estágio de agregaçãoProject()com o provedor LINQ3. Nas versões anteriores do driver, você podia executar a projeção do lado do cliente com o provedor LINQ3 somente depois de chamar o métodoToEnumerable()ouAsEnumerable().Para saber como habilitar e usar a projeção do lado do cliente para um método de driver, selecione a guia correspondente:
// 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) }); Dica
Configurações do Mongo Client
Para habilitar a projeção no lado do cliente para todas as queries em um cliente, defina a propriedade
TranslationOptionsdo seu objetoMongoClientSettings, conforme mostrado no exemplo a seguir:clientSettings.TranslationOptions = new ExpressionTranslationOptions { EnableClientSideProjections = true }; Para saber mais sobre como usar o pipeline de agregação com o driver .NET/C#, consulte Operações de agregação.
Adiciona uma API
MongoClientpara operações de escrita em massa. Para saber mais sobre operações de escrita em massa, consulte Operações de escrita em massa.
Para obter mais informações sobre esta versão, consulte as notas de versão v3.0.
Novidades no 2.30
O driver 2.30 não introduz novos recursos ou correções de bugs. Seu objetivo é facilitar a migração para a v3.x do driver .NET/C# marcando as APIs públicas que foram removidas na v3.0 como obsoletas.
Novidades no 2.29
A versão do driver 2.29 adiciona suporte para a versão 8.0 do MongoDB Server e inclui as seguintes novas funcionalidades:
Adiciona suporte para v2 do protocolo de faixa Queryable Encryption .
Adiciona suporte para índices de intervalo para Queryable Encryption. Para obter mais informações sobre Queryable Encryption, consulte Queryable Encryption no manual do MongoDB Server .
Para obter mais informações sobre esta versão, consulte as notas de versão v2.29.
Novidades no 2.28
Aviso
Possível alteração significativa na v2.28
Todos os componentes do driver .NET/C# têm um nome forte. Se o seu aplicação tiver dependências que referenciam várias versões do driver .NET/C#, você deverá criar redirecionamentos de associação para gerenciar essas dependências. Para obter mais informações, consulte Versão 2.28.0 Alterações significativas.
A versão do driver 2.28 inclui as seguintes novas funcionalidades:
Adiciona suporte para conversões numéricas adicionais envolvendo
Nullable<T>.Adiciona suporte para a opção
delegatedao usar KMIP para CSFLE ou Queryable Encryption.
Para obter mais informações sobre esta versão, consulte as notas de versão v2.28.
Novidades no 2.27
A versão do driver 2.27 inclui as seguintes novas funcionalidades:
Adiciona suporte para o operador de agregação
$sample.Implementa o método
Equals()para serializadores no LINQ3.Garante que as preocupações de leitura e gravação não sejam aplicadas aos comandos do Auxiliar de Índice de Pesquisa MongoDB para evitar erros.
Não permite o uso do caractere vírgula em
authMechanismPropertiesvalores de string de conexão ao usar o mecanismo de autenticaçãoMONGODB-OIDC.Corrige um bug de tradução que causava um erro durante a serialização envolvendo números de tamanhos diferentes.
Adiciona suporte para distribuições Linux que utilizam a biblioteca do
libdl.so.2.
Para obter mais informações sobre esta versão, consulte as notas de versão v2.27.
Novidades no 2.26
A versão do driver 2.26 inclui as seguintes novas funcionalidades:
Adicionado suporte para usar o método de agregação
SelectMany()dentro dos estágios de agregaçãoSelect()eProject().Adicionado suporte para chamadas
Dictionary.ContainsValue()em queries LINQ.Suporte adicionado para concatenação de string de tipos mistos.
Uso habilitado do
cryptonativo em vinculações dolibmongocrypt.Suporte adicionado para serialização de estruturas
MemoryeReadOnlyMemory. Para saber mais sobre como implementar esses tipos, consulte a seção Aprimorar o desempenho da serialização da matriz do guia Serialização.Suporte adicionado para o provedor de identidade GCP ao usar o mecanismo de autenticação
MONGODB-OIDC. Para saber mais, consulte GCP IMDS no guia de Mecanismos de Autenticação Empresarial.Implementação da assinatura de pacotes NuGet.
Implementou novas tentativas de leitura e gravação em outras instâncias
mongosquando possível.
Novidades no 2.25
A versão do driver 2.25 inclui as seguintes novas funcionalidades:
Suporte adicionado para o mecanismo de autenticação do
MONGODB-OIDCe aquisição automática de token para o Provedor de Identidade do Azure.Foi adicionado o nome da classe à mensagem de erro relatada quando
BsonClassMapSerializernão consegue localizar um criador correspondente.Foi adicionado um campo
LoggedStagespara exibir o MQL executado após a execução de uma query LINQ.Suporte adicionado para substituir o nome do serviço
"mongodb"por um personalizado usando a opção de conexãosrvServiceName. Para saber mais, consulte o guia Especificar opções de conexão.Comportamento aprimorado de operações de gravação em massa para evitar enumerar o parâmetro de solicitações mais de uma vez.
Novidades no 2.24
A versão do driver 2.24 inclui as seguintes novas funcionalidades:
Adicionado o método IMongoCollection.DistinctMany().
Suporte adicionado para os argumentos opcionais mais recentes para a expressão de agregação $dateFromString .
Suporte adicionado para classificação por pontuação no estágio de agregação $search .
Foi adicionado o construtor
VectorSearchScorepara o estágio de agregação $vectorSearch .Suporte adicionado para o operador $in no Atlas Search.
Adicionados os métodos
Mql.Exists(),Mql.IsMissing()eMql.IsNullOrMissing()para query LINQ.Adicionado suporte para o método
IComparable.CompareTo()em queries LINQ.Foi adicionado suporte para chamadas aninhadas ao método
AsQueryable()para oferecer suporte a queries LINQ pelo fornecedor do MongoDB Entity Framework Core.Suporte adicionado para TLS 1.3.
Atualizou a versão do pacote
libmongocryptpara 1.8.2.Corrigido um segfault no Kerberos (
libgssapi) em distribuições Linux mais recentes.Corrigido um bug do GridFS em que o download de um arquivo causava um erro se um arquivo maior com o mesmo ID também tivesse sido carregado.
O erro de servidor
ExceededTimeLimitagora pode ser repetido para operações de leitura e gravação.Ao ser executado em um ambiente de função como serviço (FaaS), como o Amazon Web Services Lambda, o driver agora usa o mecanismo de monitoramento de sondagem.
Para melhorar a compatibilidade do MongoDB Atlas Serverless, o driver agora usa OP_MSG para autenticação se o servidor suportar.
Novidades no 2.23
A versão do driver 2.23 inclui as seguintes novas funcionalidades:
Melhorias e correções de bugs na integração do LINQ3 .
Suporte adicionado para operadores de agregação bitwise.
Suporte adicionado para o operador
$outnas coleções de séries temporais do MongoDB.ChangeStreamSplitLargeEvent adicionado para lidar com eventos de fluxo de alterações maiores que 16 MB.
Novidades no 2.22
A versão do driver 2.22 inclui as seguintes novas funcionalidades:
Melhorias e correções de bugs na integração do LINQ3 .
Suporte adicionado para estágios de agregação $set e $vectorSearch .
Suporte de sinônimos adicionado para Atlas Search.
Alocação de memória reduzida ao usar criptografia.
Foram adicionadas mensagens de registro para eventos de descoberta e monitoramento de servidor (SDAM). Para obter mais informações sobre esses eventos, consulte a especificação de monitoramento e registro de SDAM do MongoDB.