Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Notas de versión

Conozca las novedades en:

  • Versión 5.2

  • Versión 5.1

Esta sección enumera los cambios introducidos en las siguientes versiones parche:

La versión v5.2.4 de Django MongoDB backend incluye las siguientes funcionalidades, mejoras y correcciones:

  • Mejora el rendimiento de las operaciones de unión, que utilizan el $lookup etapa de agregación, empujando condiciones complejas de la etapa $match a la etapa $lookup

La versión v5.2.3 de Django MongoDB backend incluye las siguientes funcionalidades, mejoras y correcciones:

  • Evita que las consultas QuerySet.union() dupliquen la etapa $project del pipeline.

  • Actualiza la clase Value para envolver los valores de string, diccionarios y tuplas con el operador $literal, a fin de evitar que MongoDB los interprete como expresiones. De manera similar, las consultas que actualizan los modelos ahora envuelven valores en el operador como $literal, por la misma razón.

  • Simplifica las consultas $lookup utilizando localField y foreignField.

La versión v5.2.2 de Django MongoDB backend incluye las siguientes funcionalidades, mejoras y correcciones:

  • Agrega los siguientes argumentos SearchIndex, que te permiten crear índices más complejos:

    • field_mappings

    • analyzer

    • search_analyzer

    Para aprender más, Buscar índices en la guía de índices.

  • Corrige una excepción KeyError que ocurría al cargar modelos que contienen campos EmbeddedModel usando un conversor de bases de datos, si el campo no estaba presente en los datos.

  • Asegura que el argumento db_column se aplique a EmbeddedModel campos.

  • Corrige el tipo de índice de búsqueda de los valores EmbeddedModelField y PolymorphicEmbeddedModelField de embeddedDocuments a document.

  • Corrige el error transaction.atomic() que se producía cuando no se inicializaba la conexión con la base de datos.

  • Desaprueba el método django_mongodb_backend.utils.parse_uri(). Este método se eliminará en una versión futura.

La versión v5.2.1 de Django MongoDB backend incluye las siguientes funcionalidades, mejoras y correcciones:

  • Se ha añadido compatibilidad para especificar la cadena de conexión en la DATABASES["HOST"] clave en lugar de usar el django_mongodb_backend.utils.parse_uri() método. Para obtener más información, consulte "Configurar automáticamente los ajustes de la base de datos" en la guía "Configurar la conexión a la base de datos".

  • Instruye a las operaciones de migración que agregan o eliminan índices de búsqueda que esperen hasta que la operación se complete en el servidor, lo que previene conflictos al ejecutar múltiples operaciones de manera secuencial.

  • Configura consultas simples que utilizan los siguientes operadores para usar $match en lugar de $expr, lo que les permite utilizar índices:

    • $eq

    • $in

    • $and

    • $or

    • $gt

    • $gte

    • $lt

    • $lte

Django MongoDB Backend v5.2.0 es la versión inicial de disponibilidad general (GA). Para obtener más información sobre las funcionalidades de GA, consulta la entrada de blog Backend de MongoDB para Django ahora disponible en general.

Advertencia

Cambios radicales

La versión beta 3 de Django MongoDB Backend v5.2.0 presenta el siguiente cambio importante:

  • Se elimina el soporte para búsquedas de coincidencia de patrones en campos que no son de tipo string o cadena de texto. Anteriormente, estas búsquedas convertían su entrada utilizando el operador $toString. Esto provocó problemas de rendimiento porque MongoDB no podía utilizar índices al ejecutar la query.

Advertencia

Cambios radicales

Esta versión libera los siguientes cambios disruptivos:

  • Limita los valores django.db.models.SmallIntegerField y django.db.models.PositiveSmallIntegerField a 32 bits en los formularios y en la validación de modelos.

  • Elimina la compatibilidad con el almacenamiento en caché de la base de datos. Esto impide que un atacante que haya comprometido la base de datos utilice valores de caché codificados con pickle para ejecutar comandos arbitrarios en el servidor de aplicaciones.

El Backend de Django MongoDB v5.2.0 la beta 2 incluye las siguientes funcionalidades, mejoras y correcciones:

  • Añade soporte para consultas de búsqueda de MongoDB. Para obtener más información, consulta la guía sobre cómo ejecutar una MongoDB Search query.

  • Añade soporte de subconsultas para los valores de EmbeddedModelArrayField. Para aprender más, consulta Query Embedded Model Arreglo Values en la guía Especificar una consulta.

  • Agrega el parámetro options al método django_mongodb_backend.utils.parse_uri().

  • Añade soporte para transacciones de base de datos. Para obtener más información, consulta la guía sobre Transacciones y Sesiones.

  • Agrega los campos PolymorphicEmbeddedModelField y PolymorphicEmbeddedModelArrayField, que almacenan una instancia de modelo o una lista de instancias de modelo que pueden pertenecer a más de una clase de modelo. Para obtener más información, consulte Almacenar datos de modelos incrustados polimórficos en la guía Crear modelos.

  • Añade compatibilidad con GeoDjango. Para obtener más información, consulte la guía de modelado de datos geoespaciales.

  • Actualiza QuerySet.explain() para devolver una string que pueda ser analizada como JSON.

  • Corrige la generación de restricciones únicas para los campos IntegerField y PositiveBigIntegerField, que permitían incorrectamente valores duplicados mayores de 32 bits. Debes recrear las restricciones únicas existentes para usar $type: long en vez de int.

  • Envía los siguientes campos a MongoDB como valores bson.int64.Int64, lo que corrige las restricciones únicas en valores inferiores a 32 bits:

    • IntegerField

    • BigIntegerField

    • PositiveIntegerField

    • PositiveBigIntegerField

    • DurationField

  • Mejora el rendimiento QuerySet al remover el límite inferior en la fragmentación del lado del servidor.

  • Mejora el rendimiento de las operaciones de combinación, que utilizan la etapa de agregación $lookup, al trasladar algunas condiciones simples de la etapa $match a la etapa $lookup.

El Backend de Django MongoDB v5.2.0 la beta 1 incluye las siguientes funcionalidades, mejoras y correcciones:

  • Añade el campo EmbeddedModelArrayField para almacenar una lista de instancias del modelo. Para obtener más información, consulta Almacenar datos de matriz de modelo integrado en la guía Crear modelos.

  • Corrige un fallo que ocurría al cargar modelos que tienen un valor nulo ArrayField y un base_field utilizando un convertidor de base de datos.

Advertencia

Cambios radicales

Esta versión libera los siguientes cambios disruptivos:

  • Aumenta la versión mínima compatible de PyMongo de 4.6 a 4.7.

  • Elimina el parámetro conn_max_age de django_mongodb_backend.utils.parse_uri(). Django MongoDB Backend ahora utiliza conexiones persistentes de forma predeterminada.

El Backend de Django MongoDB v5.2.0 la beta 0 incluye las siguientes funcionalidades, mejoras y correcciones:

  • Agrega las clases SearchIndex y VectorSearchIndex, que le permiten crear índices de MongoDB Search y Vector Search. Para saber más, consulta Índices de búsqueda y Índices de búsqueda vectorial en la guía Crear índices.

  • Utiliza el agrupamiento de conexiones de PyMongo por defecto.

  • Agrega soporte para las búsquedas y transformaciones personalizadas de un campo en un EmbeddedModelField.

  • Corrige los resultados de las consultas que utilizan el parámetro tzinfo de las funciones de base de datos Trunc.

  • Agrega soporte para los métodos QuerySet.dates() y QuerySet.datetimes().

  • Corrige la carga de QuerySet resultados para campos de modelos embebidos que usan conversores de bases de datos.

Esta sección enumera los cambios introducidos en las siguientes versiones parche:

Advertencia

Cambios radicales

Esta versión presenta el siguiente cambio disruptivo:

  • Elimina la compatibilidad con el almacenamiento en caché de la base de datos. Esto impide que un atacante que haya comprometido la base de datos utilice valores de caché codificados con pickle para ejecutar comandos arbitrarios en el servidor de aplicaciones.

El Backend de Django MongoDB v5.1.0 la beta 4 incluye las siguientes funcionalidades, mejoras y correcciones:

  • Soluciona un fallo que se producía al cargar modelos que tienen un valor ArrayField nulo y donde el base_field utiliza un convertidor de base de datos.

  • Mejora el rendimiento QuerySet al remover el límite inferior en la fragmentación del lado del servidor.

El Backend de Django MongoDB v5.1.0 la beta 3 incluye las siguientes funcionalidades, mejoras y correcciones:

  • Agrega soporte para consultas personalizadas de un campo y transformaciones en un EmbeddedModelField

  • Corrige los resultados de las consultas que utilizan el parámetro tzinfo de las funciones de base de datos Trunc

  • Añade soporte para los métodos QuerySet.dates() y QuerySet.datetimes()

  • Corrige la carga de resultados QuerySet para campos de modelo integrados que utilizan convertidores de bases de datos

Advertencia

Cambios radicales

Esta versión presenta el siguiente cambio disruptivo:

  • Cambia el nombre del parámetro size de un ArrayField por max_size. El parámetro size ahora se utiliza para aplicar arreglos de longitud fija.

El Backend de Django MongoDB v5.1.0 la beta 2 incluye las siguientes funcionalidades, mejoras y correcciones:

  • Agrega soporte para almacenamiento en caché de bases de datos. Este soporte se elimina posteriormente en la v5.1.4.

  • Corrige la inicialización del campo QuerySet.raw_aggregate() cuando el orden de la clave del documento no coincide con el orden de los campos del modelo.

Advertencia

Cambios radicales

Esta versión presenta el siguiente cambio disruptivo:

  • ObjectIdAutoField ya no acepta valores enteros

El Backend de Django MongoDB v5.1.0 la beta 1 incluye las siguientes funcionalidades, mejoras y correcciones:

  • Añade soporte para guardar formularios de modelos anidados o incrustados

  • Corrige las conexiones persistentes de la base de datos

  • Agrega soporte para operaciones asincrónicas

  • Agrega el parámetro db_name al método django_mongodb_backend.utils.parse_uri()

  • Agrega un enrutador django_mongodb_backend.routers.MongoRouter, que garantiza que Django MongoDB backend no cree colecciones para modelos incrustados y que el comando dumpdata no incluya modelos incrustados

Django MongoDB Backend v5.1.0 beta 0 es la versión previa inicial pública. Para aprender más sobre las funcionalidades de la vista previa pública, consulta la entrada de blog "Backend oficial de Django MongoDB ahora disponible en vista previa pública".

Volver

Migrar aplicaciones de Djongo ODM

En esta página