Descubra qué hay de nuevo en:
Novedades en 3.8
La 3.8 versión de driver incluye las siguientes funcionalidades:
Agrega las siguientes capacidades a la
Mql.Convert()método que convierte entre tipos al realizar agregaciones:Este método puede convertir cualquier tipo BSON a un
string. El controlador asigna esta operación al operador de agregación$toString, que es equivalente al campoto: "string"del operador$convert.El método también puede convertir una cadena JSON en un objeto
BsonDocumentoBsonArray. El controlador asigna estas operaciones a los operadores de agregación$toObjecto$toArray, que son equivalentes a los camposto: "object"yto: "array"del operador$convert.La clase
ConvertOptionsincluye una propiedadBase, que puede utilizar para especificar una base numérica al convertir entre tipos numéricos y cadenas.
Las características anteriores requieren MongoDB Server 8.3 o posterior. Para obtener más información, consulte la Sección $convert de la guía LINQ.
Agrega los métodos LINQ
Mql.SerializeEJson()yMql.DeserializeEJson()para convertir entre valores BSON y sus representaciones JSON extendidas (EJSON) v2. Estos métodos requieren el MongoDB Server 8.3 o posterior. Para obtener más información, consulta la sección Operadores de Serialización EJSON de la guía LINQ.Agrega el método
Mql.CreateObjectId()para generar un valor único deObjectIden una pipeline de agregación. Esta funcionalidad requiere MongoDB Server versión 8.3 o posterior. Para obtener más información, consulte $createObjectId.Agrega soporte para las sobrecargas de índices de los métodos
Select(),SelectMany()yWhere()en las consultas LINQ al ejecutarse en MongoDB Server 8.3 o posterior. Para obtener más información, consulta Métodos compatibles en la guía LINQ.Agrega soporte para sobrecargas de índices de los métodos
SkipWhile()yTakeWhile()dentro de las proyeccionesSelect()en LINQ query. Para obtener más información, consulta Métodos admitidos en la guía LINQ.Añade un método builder
Rerank()para la etapa de agregación$rerank, que utiliza los modelos de reordenamiento de Voyage IA para organizar los documentos de entrada según su relevancia. Para obtener más información, consulta Métodos de etapas de agregación en la guía Etapas del pipeline de agregación.Añade soporte de LINQ para algunas sobrecargas de los métodos
string.Replace(),Regex.Replace(),string.Split()yRegex.Split(). Para obtener más información, consulta la sección String Operadores de la guía LINQ.
Para obtener más información sobre esta versión, consulta las notas de versión v3.8 en GitHub.
Novedades de 3.7
La versión del controlador 3.7 incluye las siguientes nuevas funcionalidades, mejoras y correcciones:
Agrega soporte para el sistema de trazado OpenTelemetry.
Agrega soporte para crear una sesión de snapshot con un valor
SnapshotTimeespecífico. Para obtener más información, consulte ClientSessionOptions.Amplía el soporte de las funcionalidades de los servidores despriorizados de la selección de servidores de clústeres a todos los tipos de topología.
Actualiza la API de
withTransactionpara evitar que las transacciones se reintenten con demasiada frecuencia.Admite una nueva sobrecarga de método
Enumerable.Reverse()para valores de arreglo introducida por .NET 10.Admite filtros que comparan valores numéricos anulables o
charcon valores constantes.Agrega soporte para
ConvertCheckedexpresiones.Reescribe las consultas que utilizan los operadores
$elemMatchy$orinvirtiendo el orden de los operadores, debido a una limitación del servidor.Implementa un nuevo sistema de
KnownSerializerFinderque preanaliza las expresiones para crear un mapa de serializadores conocidos para cada nodo de expresión.Actualiza la ruta del código de conexión sincrónica para usar
ConnectAsync, lo que reduce el riesgo de deadlocks.Convierte las clases de eliminador en structs, lo que reduce las asignaciones de memoria.
Optimiza la traducción de la expresión de comparación para constantes booleanas anulables.
Evita la asignación de arreglos de bytes al escribir valores de
Int64yDoubleal reutilizar el arreglo_tempdeByteBufferStream.Optimiza la clase
CommandEventHelperpara evitar la decodificación redundante de mensajes.Corrige el comportamiento de serialización para los enums que tienen
ushorttipos subyacentes.Genera un
ExpressionNotSupportedExceptionsi se realizanString.IndexOf()comparaciones con valores negativos.Evita la creación de un
ClusterDescriptionChangedEventcuando las actualizaciones de DNS no cambian el estado de Descubrimiento y supervisión del servidor.Actualiza las referencias de propiedades intraducibles en las expresiones LINQ para recurrir a la ejecución en el lado del cliente.
Actualiza
IPAddressSerializerpara serializar instancias deIPAddresssin generar un error.Corrige un error en el que el optimizador
GroupBygeneraba rutas de campo incorrectas para los acumuladoresFirstyLastsi una operación anterior envolvía los datos de origen.Corrige los interbloqueos durante la inicialización concurrente de
BsonClassMap, que se produjeron después de actualizar a .NET/C# Driver 3.5.2.
Para obtener más información sobre esta versión, consulta las notas de versión v3.7 en GitHub.
Novedades en 3.6
La versión del controlador 3.6 incluye las siguientes nuevas funcionalidades, mejoras y correcciones:
Agrega la clase
CreateVectorSearchIndexModel, una API fuertemente tipada para crear índices de MongoDB Vector Search. Para obtener más información sobre esta API, consulte Ejecutar una MongoDB Vector Search query.Agrega el modelo de índice
CreateAutoEmbeddingVectorSearchIndexModelpara generar automáticamente incrustaciones de vectores para campos de texto. Para conocer más detalles, consulta la guía de MongoDB Search y de índices de Vector Search en MongoDB.Añade un modo de compatibilidad hacia atrás para el tipo
TimeOnlypara leer correctamente documentos serializados por versiones del controlador anteriores a la v3.0.Usa rutas estándar RID en el empaquetado
MongoDB.Driver.Encryption.Añade soporte para el método estático
String.Compare()en consultas LINQ.Añade soporte para usar campos
Dictionarycomo tipos deIEnumerable<KeyValuePair<TKey, TValue>>.Agrega compatibilidad para las propiedades
DictionaryKeysyValuesen las consultas LINQ.Añade una sobrecarga de constructor
Decimal128para tiposbyteyshortpara dar soporte a la compatibilidad con .NET 10.Agrega soporte para los cambios de C# 14 que hacen que algunas sobrecargas de métodos se vinculen a métodos
MemoryExtensionsen lugar de métodosEnumerable.Mapea los métodos
MemoryExtensions.Contains()yMemoryExtensions.SequenceEqual()que tienen un comparador nulo aEnumerablemétodos que no tienen un parámetro comparador.Mejora el rendimiento de la serialización y reduce la asignación de memoria mediante las siguientes mejoras:
Elimina asignaciones de
GetBitArray()enBsonClassMapSerializer.DeserializeClass().Usa
KeyValuePairSerializerde forma constante paraKeyValuePair.Evita el
RentedBufferiminamiento/clasificación en la claseDisposableSegment.Evita asignaciones para
BsonBinaryReaderContextyBsonBinaryWriterContext.Cambia a un bucle
forenBsonClassMapSerializer.SerializeClass()para reducir las asignaciones.
Optimiza la traducción de LINQ para los métodos
First()yFirstOrDefault()con predicados.Resuelve un problema por el cual el controlador .NET/C# dejó de funcionar con Unity desde la versión v3.2.0.
Corrige un problema con el filtrado por tipos derivados.
Para obtener más información sobre esta versión, consulta las notas de versión v3.6 en GitHub.
Novedades en 3.5
Advertencia
Cambios disruptivos en la versión v3.5
MongoDB .NET/C# Driver 3.5 contiene cambios disruptivos. Consulta Cambios Disruptivos de la Versión 3.5 para obtener más información.
La versión del controlador 3.5 incluye las siguientes nuevas funcionalidades, mejoras y correcciones:
Agrega soporte experimental para queries de prefijo, sufijo y subcadena en Queryable Encryption. Estas funcionalidades son inestables y su seguridad no está garantizada hasta que estén generalmente disponibles (GA). Usarlas solo en cargas de trabajo experimentales. Para obtener más información sobre QE, consulte Encriptación en uso.
Agrega la clase CsfleSchemaBuilder al paquete
MongoDB.Driver.Encryption. Puedes utilizar esta clase para crear esquemas JSON para cifrado a nivel de campo del lado del cliente (CSFLE), como se muestra en el siguiente ejemplo:var builder = CsfleSchemaBuilder.Create(schemaBuilder => { schemaBuilder.Encrypt<Patient>(_collectionNamespace, builder => { builder .EncryptMetadata(keyId: _keyId) .Property(p => p.MedicalRecords, BsonType.Array, EncryptionAlgorithm.AEAD_AES_256_CBC_HMAC_SHA_512_Random) .Property("bloodType", BsonType.String, algorithm: EncryptionAlgorithm.AEAD_AES_256_CBC_HMAC_SHA_512_Random) .Property(p => p.Ssn, BsonType.Int32, EncryptionAlgorithm.AEAD_AES_256_CBC_HMAC_SHA_512_Deterministic) .Property(p => p.Insurance, innerBuilder => { innerBuilder .Property(i => i.PolicyNumber, BsonType.Int32, EncryptionAlgorithm.AEAD_AES_256_CBC_HMAC_SHA_512_Deterministic); }) .PatternProperty("_PIIString$", BsonType.String, EncryptionAlgorithm.AEAD_AES_256_CBC_HMAC_SHA_512_Deterministic) .PatternProperty("_PIIArray$", BsonType.Array, EncryptionAlgorithm.AEAD_AES_256_CBC_HMAC_SHA_512_Random) .PatternProperty(p => p.Insurance, innerBuilder => { innerBuilder .PatternProperty("_PIIString$", BsonType.String, EncryptionAlgorithm.AEAD_AES_256_CBC_HMAC_SHA_512_Deterministic) .PatternProperty("_PIINumber$", BsonType.Int32, algorithm: EncryptionAlgorithm.AEAD_AES_256_CBC_HMAC_SHA_512_Deterministic); }); }); }); var schema = builder.Build(); Para obtener más información sobre CSFLE, consulte encriptación en uso.
Agrega los siguientes métodos LINQ:
Median(): Calcula la mediana de una secuencia de valores.Percentile()Calcula múltiples percentiles de una secuencia de valores.
Puedes utilizar estos métodos para realizar cálculos como parte de las etapas de agregación
$groupy$setWindowFields.Agrega una nueva Ascendente() y Descendente() métodos sobrecargados a la clase
SortDefinitionBuilder. Puedes utilizar estos métodos para ordenar elementos por valor al utilizar el operador de actualizar$sort.Agrega soporte para el uso de un proxy SOCKS5 para conectarse a MongoDB. Se pueden especificar las configuraciones de conexión SOCKS5 en la cadena de conexión o utilizando la propiedad MongoClientSettings.Socks5ProxySettings.
Agrega soporte para la interfaz
IAsyncEnumerable<T>en cursores y LINQ. Puedes usar la sintaxisawait foreachpara iterar asincrónicamente sobre los resultados de las query.Agrega soporte para big-endian a las clases
BinaryVectorReaderyBinaryVectorWriter.Realiza cambios en subsistemas internos en preparación para admitir el tiempo de espera de operaciones del lado del cliente (CSOT) en una versión próxima. Esperamos que estos cambios sean retrocompatibles y que no afecten el comportamiento actual de los controladores. Póngase en contacto con MongoDB si experimenta alguno de los siguientes problemas:
Las operaciones se agotan inesperadamente o no se agotan cuando se espera.
Retrasos inusuales o bloqueos en las llamadas a la base de datos
Diferencias en el comportamiento al cancelar comandos
Para conocer las mejores formas de encontrar ayuda, consulta la página de Problemas y ayuda. Por favor, proporciona los registros del controlador y una reproducción si es posible.
Para obtener más información sobre esta versión, consulta las notas de versión v3.5 en GitHub.
Novedades en 3.4
La versión del controlador 3.4 incluye las siguientes nuevas funcionalidades, mejoras y correcciones:
Agrega el método LINQ
Mql.Convert()para convertir entre tipos al realizar agregaciones. Para obtener más información, consulte la sección $convert de la guía LINQ.Agrega soporte para el método LINQ de
KeyValuePair.Create().Agrega el método
GeoNear()aggregation builder para construir una etapa de agregación$geoNear. Para ver ejemplos, consulta la referencia de $geoNear en el manual de MongoDB Server.Permite convertir desde una interfaz a un tipo que implementa esa interfaz en consultas LINQ.
Admite el método constructor
Dictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection)en LINQ.Agrega las siguientes opciones para las consultas de MongoDB Search:
MatchCriteriaenSearchTextOptionspara establecer criterios de coincidencia para los términos pasados al método operadorText().SynonymsenSearchPhraseOptionspara establecer el nombre de la definición de asignación de sinónimos cuando se utilice el método del operadorPhrase().
Para obtener más información sobre cómo realizar búsquedas en MongoDB, consulta la guía MongoDB Search.
Admite consultas LINQ después de convertir los objetos
IQueryable<Derived>enIQueryable<Base>.Corrige el comportamiento del operador MongoDB Search para utilizar serializadores configurados en lugar de serializadores predefinidos. Para utilizar el comportamiento anterior, establezca la siguiente opción:
SearchDefinition.UseConfiguredSerializers(false);
Para obtener más información sobre esta versión, consulta las notas de versión v3.4 en GitHub.
Novedades en 3.3
La 3.3 versión de driver incluye las siguientes funcionalidades:
Agrega un nuevo campo
NamespaceTypeque indica el tipo de objeto creado para los eventoscreateen la claseChangeStreamDocument. Para obtener más información sobre los flujos de cambios, consulta la guía Supervisar los cambios de datos.Añade las siguientes funcionalidades de encriptación en uso:
Soporte para la etapa de agregación $lookup
Una propiedad
ClientEncryptionOptionsque configura la vida útil de la caché de la llave de cifrado de datos
Para obtener más información sobre el cifrado en uso, consulta la guía de Cifrado en uso.
Agrega las siguientes funcionalidades de LINQ:
Compatibilidad con los métodos de agregación LINQ
SkipWhile()yTakeWhile(). Para más información, consulta las secciones Omitir por condición y Limitar por condición de la guía LINQ.Soporte para la expresión
$sigmoiden consultas LINQ.Compatibilidad con el uso de la sintaxis LINQ para acceder a cualquier clave en un diccionario que se serializa como una string, independientemente de su tipo de datos subyacente.
Agrega soporte para la etapa de agregación
$rankFusion, que habilita la puntuación de resultados basada en el ranking sobre los resultados combinados de múltiples pipelines.Añade soporte para $elemMatch consultas directamente a los valores proporcionando una sobrecarga del método
ElemMatch()que solo toma un parámetro de filtro. Para obtener más información, consulta Actualizar Arreglos en un Documento y Actualizar Arreglos en Muchos Documentos.Agrega soporte para utilizar el método
OfType<T>()y el operadorispara comprobar el tipo de un discriminador escalar.
Para obtener más información sobre esta versión, consulta las notas de versión v3.3 en GitHub.
Novedades en 3.2
La 3.2 versión de driver incluye las siguientes funcionalidades:
Agrega una nueva convención
ObjectSerializerAllowedTypesConventionque le permite especificar qué tipos se pueden serializar y deserializar mediante el serializador de objetos. Para obtener más información sobre las convenciones, consulta la Guía de convenciones.Agrega un nuevo constructor para la clase
EnumRepresentationConventionque permite utilizar el parámetrotopLevelOnlypara especificar si la convención se aplica únicamente a las propiedades de enumeraciones o a todas las propiedades que incluyen colecciones de enumeraciones.Puedes crear una instancia de la clase
EnumRepresentationConventionusando el nuevo constructor, como se muestra en el siguiente ejemplo:EnumRepresentationConvention(BsonType representation, bool topLevelOnly); Optimiza las proyecciones del lado del cliente para recuperar solo los campos necesarios del servidor, en lugar de recuperar todos los campos y filtrarlos después.
Agrega las siguientes clases para admitir representaciones vectoriales binarias en MongoDB Vector Search:
BinaryVectorFloat32BinaryVectorInt8BinaryVectorPackedBit
Para obtener más información sobre MongoDB Vector Search con el driver .NET/C#, consulta la guía Ejecutar una query de búsqueda vectorial en MongoDB.
Agrega la propiedad
DocumentFormatalDateOnlySerializer. Esta propiedad permite personalizar la forma en que el controlador serializa los valores deDateOnly. Esta versión también agrega el atributo[BsonDateOnlyOptions()]para personalizar el comportamiento de serialización para los valoresDateOnlya nivel de propiedad. Para obtener más información, consulta la sección Serialización de DateOnly personalizada de la guía POCO.
Para obtener más información sobre esta versión, consulta las notas de versión v3.2 en GitHub.
Novedades en 3.1
La 3.1 versión de driver incluye las siguientes funcionalidades:
Agrega nuevos serializadores por defecto para colecciones inmutables en el namespace System.Collections.Immutable. El driver ahora puede serializar
ImmutableArrayobjetos, y la serialización para otras colecciones inmutables es más eficiente en cuanto al uso de memoria.Añade el tipo
SearchIndexTypepara admitir la creación de índices de MongoDB Vector Search de forma programática. Para obtener más información, consulta la guía Índices de MongoDB Search y MongoDB Vector Search.Agrega soporte para el tipo de campo de token y expresiones de campos de array con los constructores de MongoDB Search para el operador
equals. Para obtener más información sobre el uso de MongoDB Search con el driver .NET/C#, consulta MongoDB Search.Agrega soporte para las siguientes MongoDB Search consultas:
Uso del método del operador
Equals()en valoresnullyGuidUtilizar el método operador
In()en los valoresGuid
Para obtener más información sobre estos métodos, consulte la sección Operadores y recolectores de búsqueda de MongoDB en la guía de MongoDB Search.
Agrega soporte para paginación secuencial en la búsqueda de MongoDB Search.
Agrega soporte para nombres de host SRV válidos con menos de 3 partes.
Se agrega compatibilidad para los métodos
Exists,IsMissingyIsNullOrMissingen los filtros de la API de query de MongoDB.Añade soporte para la búsqueda vectorial Exact Nearest Neighbor (ENN). Para aprender más sobre la Búsqueda Vectorial ENN, consulta Ejecutar consultas de búsqueda vectorial en la documentación de MongoDB Search.
Agrega una opción de ordenación para operaciones de actualización y reemplazo. Este cambio permite establecer un orden de clasificación si varios documentos coinciden con su filtro al intentar actualizar o reemplazar un solo documento. Para aprender más, consulta las guías de Actualizar uno y Actualizar muchos.
Para obtener más información sobre esta versión, consulte las notas de versión v3.1.
Novedades en 3.0
Advertencia
Cambios disruptivos en la versión v3.0
El controlador v3.0 incluye cambios disruptivos. Consulta Cambios disruptivos de la versión 3.0 para obtener más información.
La 3.0 versión de driver incluye las siguientes funcionalidades:
Agrega la opción de conexión
MongoClientSettings.TranslationOptions, que especifica opciones para traducir las LINQ queries a la API de query. Consulta Especificar opciones de conexión para obtener más información.Agrega compatibilidad para el tipo
Half, que representa un número de punto flotante de media precisión. Este tipo está disponible en .NET 5 y versiones posteriores. Para obtener más información sobre el tipoHalf, consulta la Half Struct Referencia de la API en MSDN.La interfaz
IMongoClienthereda la interfazIDisposable. Como resultado, la claseMongoClienty otras clases que implementan la interfazIMongoClientcontienen una opciónDisp- Adds support for the ``sortque se debe pasar a los comandos de actualización.ose()`` método, que elimina al cliente. Este método no elimina el clúster subyacente ni las conexiones con el servidor de MongoDB. Para desechar el clúster y las conexiones, llama al métodoClusterRegistry.UnregisterAndDisposeCluster(). La implementación de la interfazIDisposablees experimental.Para obtener más información sobre la interfaz
IDisposabley el uso del métodoDispose(), consulte Patrón Dispose en MSDN.Añade compatibilidad para el tipo
DateOnly, que representa un valor de fecha sin un componente de tiempo. Esta tipología está disponible en .NET 6 y versiones posteriores. Para obtener más información sobre elDateOnlytipo, consulta la Estructura DateOnly. Página de referencia de API en MSDN.Añade soporte para el tipo
TimeOnly, que representa un valor de tiempo sin componente de fecha. Esta tipología está disponible en .NET 6 y versiones posteriores. Para aprender más información sobre el tipoTimeOnly, consulta la Estructura TimeOnly. Página de referencia de API en MSDN.Agrega soporte para la proyección implícita del lado del cliente al usar el método
Find(), el métodoSelect()o la etapa de agregaciónProject()con el proveedor LINQ3. En versiones anteriores del controlador, podía realizar proyección del lado del cliente con el proveedor LINQ3 solo después de llamar al métodoToEnumerable()oAsEnumerable().Para aprender a habilitar y usar la proyección del lado del cliente para un método de driver, seleccione la pestaña correspondiente:
// 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) }); Tip
MongoClientSettings
Para habilitar la proyección del lado del cliente para todas las consultas en un cliente, establece la propiedad
TranslationOptionsde tu objetoMongoClientSettings, como se muestra en el siguiente ejemplo:clientSettings.TranslationOptions = new ExpressionTranslationOptions { EnableClientSideProjections = true }; Para obtener más información sobre el uso del pipeline de agregación con el driver .NET/C#, consulte Operaciones de agregación.
Agrega una API
MongoClientpara operaciones de escritura masiva. Para obtener más información sobre las operaciones de escritura masiva, consulte Operaciones de escritura masiva.
Para obtener más información sobre esta versión, consulte las notas de versión v3.0.
Novedades en 2.30
El 2.30 driver no introduce nuevas funcionalidades ni correcciones de errores. Su propósito es facilitar la migración a la versión v3.x del controlador .NET/C# marcando las API públicas que fueron eliminadas en la versión v3.0 como obsoletas.
Novedades en 2.29
La versión 2.29 de driver agrega compatibilidad con MongoDB Server versión 8.0 e incluye las siguientes nuevas funcionalidades:
Agrega soporte para la versión2 del protocolo de rango Queryable Encryption.
Agrega soporte para índices de rango para Queryable Encryption. Para obtener más información sobre Queryable Encryption, consulta Queryable Encryption en el manual de MongoDB Server.
Para obtener más información sobre esta versión, consulte las notas de versión v2.29.
Novedades en 2.28
Advertencia
Cambio disruptivo potencial en v2.28
Todos los componentes del driver de .NET/C# tienen nombres sólidos y concretos. Si su aplicación tiene dependencias que hacen referencia a varias versiones del .NET/C# Driver, debe crear redireccionamientos de enlaces para gestionar esas dependencias. Para más información, consulta Cambio disruptivo de la versión 2.28.0.
La 2.28 versión de driver incluye las siguientes funcionalidades:
Añade soporte para conversiones numéricas adicionales que involucren
Nullable<T>.Agrega compatibilidad con la opción
delegatedcuando se utiliza KMIP para CSFLE o Queryable Encryption.
Para obtener más información sobre esta versión, consulte las notas de versión v2.28.
Novedades en 2.27
La 2.27 versión de driver incluye las siguientes funcionalidades:
Añade soporte para el operador de agregación
$sample.Implementa el método
Equals()para los serializadores en LINQ3.Garantiza que las preocupaciones de lectura y el nivel de confirmación de escritura (write concern) no se apliquen a los comandos del asistente de índice de búsqueda de MongoDB para evitar errores.
No se permite el uso del carácter de coma en
authMechanismPropertiesvalores de cadena de conexión cuando se usa el mecanismo de autenticaciónMONGODB-OIDC.Corrige un error de traducción que causaba un error durante la serialización con números de diferentes tamaños.
Agrega soporte para las distribuciones de Linux que usan la librería
libdl.so.2.
Para obtener más información sobre esta versión, consulte las notas de versión v2.27.
Novedades en 2.26
La 2.26 versión de driver incluye las siguientes funcionalidades:
Se añadió el soporte para utilizar el método de agregación
SelectMany()en las etapas de agregaciónSelect()yProject().Se ha añadido compatibilidad con llamadas
Dictionary.ContainsValue()en consultas LINQ.Se agregó soporte para concatenación de strings de tipos mixtos.
Uso del nativo activado
cryptoenlibmongocryptenlaces.Añadido soporte para la serialización de las estructuras
MemoryyReadOnlyMemory. Para obtener más información sobre la implementación de estos tipos, consulta la sección Mejorar el rendimiento de la serialización de arreglos de la guía de serialización.Se agregó compatibilidad para el proveedor de identidad de GCP cuando se utiliza el mecanismo de autenticación
MONGODB-OIDC. Para obtener más información, consulte GCP IMDS en la guía de Mecanismos de Autenticación Empresarial.Se implementó la firma de paquetes NuGet.
Se implementaron reintentos de lectura y escritura a otras instancias de
mongoscuando es posible.
Novedades en 2.25
La 2.25 versión de driver incluye las siguientes funcionalidades:
Se agregó soporte para el mecanismo de autenticación
MONGODB-OIDCy la adquisición automática de tokens para el Proveedor de Identidad de Azure.Se agregó el nombre de la clase al mensaje de error reportado cuando
BsonClassMapSerializerno puede ubicar un creador coincidente.Se añadió un campo
LoggedStagespara mostrar el MQL ejecutado tras realizar una query LINQ.Se añadió soporte para sobreescribir el nombre del servicio
"mongodb"con un nombre personalizado utilizando la opción de conexiónsrvServiceName. Para obtener más información, consulta la guía Especificar Opciones de Conexión.Comportamiento mejorado de las operaciones de escritura masiva para evitar la enumeración del parámetro de solicitudes más de una vez.