Conozca las novedades en:
Novedades de la versión 6.0
En esta sección se enumeran los cambios introducidos en las siguientes versiones de parches:
Versión 6.0.3
La versión v6.0.3 de Django MongoDB Backend incluye las siguientes características, mejoras y correcciones:
Añade soporte para
ObjectIdCoincidencia de patrones de URL. Para obtener más información,consulte el despachador de URL en la documentación de la API.Evita la creación de modelos que tengan campos cifrados en bases de datos no cifradas generando un error cuando el cifrado consultable no está configurado.
Versión 6.0.2
La versión v6.0.2 de Django MongoDB Backend incluye las siguientes características, mejoras y correcciones:
Agrega soporte para los métodos
QuerySet.intersection()yQuerySet.difference().Añade compatibilidad con el parámetro
nulls_distinctdel constructorUniqueConstraint, lo que permite almacenar solo un documento con un valorNULL. Para obtener más información, consulte Especifique restricciones únicas en la guía Crear modelos.Añade la
EmbeddedFieldIndexclase, que habilita índices en subcamposEmbeddedModelFieldconEmbeddedModelArrayFieldvalores y. Para obtener más información, consulte Índice de subcampo de modelo integrado en la guía "Crear índices".Añade la
EmbeddedFieldUniqueConstraintclase, que habilita restricciones únicas en subcamposEmbeddedModelFieldconEmbeddedModelArrayFieldvalores y. Para obtener más información, consulte Restricciones de campos incrustados en la guía "Crear modelos".Corrige un error que causaba un error al llamar a
Model.save()en modelos con campos cifrados.
Versión 6.0.1
La versión v6.0.1 de Django MongoDB Backend incluye las siguientes características, mejoras y correcciones:
Añade compatibilidad con el cifrado consultable. Para obtener más información, consulte el tutorial sobre cifrado consultable.
Añade compatibilidad con búsquedas espaciales. Para obtener más información, consulte Consultar valores geoespaciales en la guía Especificar una consulta.
Evita que las comprobaciones del sistema
Indexse ejecuten dos veces.Agrega mensajes de excepción a las excepciones
DatabaseErroryIntegrityError.Corrige el comportamiento
QuerySet.defer()yQuerySet.only()para que los métodos proyecten los campos correctos.Elimina el uso de
$facetde las canalizaciones de agregación, lo que mejora el rendimiento de las consultas.
Versión 6.0.0
Advertencia
Cambios radicales
La versión v6.0.0 de Django MongoDB Backend presenta los siguientes cambios importantes:
Elimina la compatibilidad con el
django_mongodb_backend.utils.parse_uri()método. En su lugar, utilice laDATABASES["HOST"]clave. 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".Aumente la versión mínima compatible de MongoDB de 6.0 a 7.0.
Novedades de la versión 5.2
En esta sección se enumeran los cambios introducidos en las siguientes versiones de parches:
Versión 5.2.4
La versión v5.2.4 de Django MongoDB Backend incluye las siguientes características, mejoras y correcciones:
Mejora el rendimiento de las operaciones de unión, que utilizan la etapa de agregación
$lookup, al impulsar condiciones complejas de la etapa$matcha la etapa$lookup
Versión 5.2.3
La versión v5.2.3 de Django MongoDB Backend incluye las siguientes características, mejoras y correcciones:
Evita que las consultas
QuerySet.union()dupliquen la etapa de canalización$project.Se actualiza la clase
Valuepara encapsular los valores de cadena, diccionario y tupla en el operador$literaly evitar que MongoDB los interprete como expresiones. De forma similar, las consultas que actualizan modelos ahora encapsulan los valores en el operador$literalpor la misma razón.Simplifica las consultas
$lookuputilizandolocalFieldyforeignField.
Versión 5.2.2
La versión v5.2.2 de Django MongoDB Backend incluye las siguientes características, mejoras y correcciones:
Agrega los siguientes argumentos
SearchIndex, que le permiten crear índices más complejos:field_mappingsanalyzersearch_analyzer
Para obtener más información, consulte Índices de búsqueda en la guía Índices.
Corrige una excepción
KeyErrorque se producía al cargar modelos que contenían camposEmbeddedModelmediante un convertidor de base de datos, si el campo no está presente en los datos.Asegura que el argumento
db_columnse aplique aEmbeddedModelcampos.Corrige el tipo de índice de búsqueda de los valores
EmbeddedModelFieldyPolymorphicEmbeddedModelFielddeembeddedDocumentsadocument.Corrige el error
transaction.atomic()que se produjo cuando no se inicializó la conexión a la base de datos.Se desestima el método
django_mongodb_backend.utils.parse_uri(). Este método se eliminará en una próxima versión.
Versión 5.2.1
La versión v5.2.1 de Django MongoDB Backend incluye las siguientes características, mejoras y correcciones:
Se ha añadido compatibilidad para especificar la cadena de conexión en la
DATABASES["HOST"]clave en lugar de usar eldjango_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".Indica 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 evita conflictos cuando se ejecutan varias operaciones secuencialmente.
Configura consultas simples que utilizan los siguientes operadores para utilizar
$matchen lugar de$expr, lo que les permite utilizar índices:$eq$in$and$or$gt$gte$lt$lte
Versión 5.2.0
Django MongoDB Backend v5.2.0 es la versión inicial de disponibilidad general (GA). Para obtener más información sobre las características de GA, consulte la entrada del blog "Django MongoDB Backend Now generally Available".
Versión 5.2.0 beta 3
Advertencia
Cambios radicales
La versión beta 3 de Django MongoDB Backend v5.2.0 presenta el siguiente cambio importante:
Se elimina la compatibilidad con búsquedas de coincidencia de patrones en campos que no son cadenas. Anteriormente, estas búsquedas convertían la entrada mediante el operador
$toString. Esto causaba problemas de rendimiento, ya que MongoDB no podía usar índices al ejecutar la consulta.
Versión 5.2.0 beta 2
Advertencia
Cambios radicales
Esta versión de lanzamiento presenta los siguientes cambios importantes:
Limita los valores
django.db.models.SmallIntegerFieldydjango.db.models.PositiveSmallIntegerFielda 32 bits en formularios y 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.
La versión beta 2 de Django MongoDB Backend v5.2.0 incluye las siguientes características, mejoras y correcciones:
Añade compatibilidad con consultas de búsqueda de MongoDB. Para obtener más información, consulte la guía "Ejecutar una consulta de búsqueda de MongoDB".
Añade compatibilidad con subconsultas para
EmbeddedModelArrayFieldvalores. Para obtener más información, consulte Consultar valores de matriz de modelos incrustados en la guía Especificar una consulta.Agrega el parámetro
optionsal métododjango_mongodb_backend.utils.parse_uri().Añade compatibilidad con transacciones de base de datos. Para obtener más información, consulte la guía Transacciones y sesiones.
Añade
PolymorphicEmbeddedModelFieldlosPolymorphicEmbeddedModelArrayFieldcampos y, 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 polimórficos incrustados" 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 cadena que se puede analizar como JSON.Corrige la generación de restricciones únicas para los campos
IntegerFieldyPositiveBigIntegerField, que permitían incorrectamente valores duplicados mayores de 32 bits. Debe recrear las restricciones únicas existentes para usar$type: longen lugar deint.Envía los siguientes campos a MongoDB como valores
bson.int64.Int64, lo que corrige restricciones únicas en valores menores a 32 bits:IntegerFieldBigIntegerFieldPositiveIntegerFieldPositiveBigIntegerFieldDurationField
Mejora el rendimiento de
QuerySetal eliminar el límite bajo en la fragmentación del lado del servidor.Mejora el rendimiento de las operaciones de unión, que utilizan la etapa de agregación
$lookup, al enviar algunas condiciones simples de la etapa$matcha la etapa$lookup.
Versión 5.2.0 beta 1
La versión beta 1 de Django MongoDB Backend v5.2.0 incluye las siguientes características, mejoras y correcciones:
Añade el
EmbeddedModelArrayFieldcampo para almacenar una lista de instancias de modelo. Para obtener más información, consulte "Almacenar datos de matriz de modelos incrustados" en la guía "Crear modelos".Corrige un bloqueo que se producía al cargar modelos que tenían un valor nulo
ArrayFieldy unbase_fieldmediante un convertidor de base de datos.
Versión 5.2.0 beta 0
Advertencia
Cambios radicales
Esta versión de lanzamiento presenta los siguientes cambios importantes:
Aumenta la versión mínima compatible con PyMongo de 4.6 a 4.7.
Elimina el parámetro
conn_max_agededjango_mongodb_backend.utils.parse_uri(). Django MongoDB Backend ahora utiliza conexiones persistentes de forma predeterminada.
La versión beta 0 de Django MongoDB Backend v5.2.0 incluye las siguientes características, mejoras y correcciones:
Añade
SearchIndexlasVectorSearchIndexclases y, que permiten crear índices de búsqueda y búsqueda vectorial de MongoDB. Para obtener más información, consulte Índices de búsqueda e índices de búsqueda vectorial en la guía "Crear índices".Utiliza el pool de conexiones de PyMongo de forma predeterminada.
Agrega soporte para búsquedas personalizadas de un campo y transformaciones en un
EmbeddedModelField.Corrige los resultados de las consultas que utilizan el parámetro
tzinfode las funciones de base de datosTrunc.Agrega soporte para los métodos
QuerySet.dates()yQuerySet.datetimes().Corrige la carga de resultados
QuerySetpara campos de modelo integrados que utilizan convertidores de base de datos.
Novedades de la versión 5.1
En esta sección se enumeran los cambios introducidos en las siguientes versiones de parches:
Versión 5.1.0 beta 4
Advertencia
Cambios radicales
Esta versión lanzada introduce el siguiente cambio importante:
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.
La versión beta 4 de Django MongoDB Backend v5.1.0 incluye las siguientes características, mejoras y correcciones:
Corrige un bloqueo que se producía al cargar modelos que tenían un valor nulo
ArrayFieldy dondebase_fieldutilizaba un convertidor de base de datos.Mejora el rendimiento de
QuerySetal eliminar el límite bajo en la fragmentación del lado del servidor.
Versión 5.1.0 beta 3
La versión beta 3 de Django MongoDB Backend v5.1.0 incluye las siguientes características, mejoras y correcciones:
Agrega soporte para búsquedas personalizadas de un campo y transformaciones en un
EmbeddedModelFieldCorrige los resultados de las consultas que utilizan el parámetro
tzinfode las funciones de base de datosTruncAgrega soporte para los métodos
QuerySet.dates()yQuerySet.datetimes()Corrige la carga de resultados
QuerySetpara campos de modelo integrados que utilizan convertidores de bases de datos
Versión 5.1.0 beta 2
Advertencia
Cambios radicales
Esta versión lanzada introduce el siguiente cambio importante:
Cambia el nombre del parámetro
sizede unArrayFieldamax_size. El parámetrosizeahora se utiliza para aplicar matrices de longitud fija.
La versión beta 2 de Django MongoDB Backend v5.1.0 incluye las siguientes características, mejoras y correcciones:
Añade compatibilidad con el almacenamiento en caché de bases de datos. Esta compatibilidad se eliminará posteriormente en la versión 6800.5.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.
Versión 5.1.0 beta 1
Advertencia
Cambios radicales
Esta versión lanzada introduce el siguiente cambio importante:
ObjectIdAutoFieldya no acepta valores enteros
La versión beta 1 de Django MongoDB Backend v5.1.0 incluye las siguientes características, mejoras y correcciones:
Agrega soporte para guardar formularios de modelos incrustados anidados
Corrige las conexiones persistentes de la base de datos
Añade soporte para operaciones asincrónicas
Agrega el parámetro
db_nameal métododjango_mongodb_backend.utils.parse_uri()Agrega un enrutador
django_mongodb_backend.routers.MongoRouter, que garantiza que Django MongoDB Backend no cree colecciones para modelos integrados y que el comandodumpdatano incluya modelos integrados
Versión 5.1.0 beta 0
Django MongoDB Backend v5.1.0 beta 0 es la versión preliminar pública inicial. Para obtener más información sobre las características de la versión preliminar pública, consulta la entrada del blog "Django MongoDB Backend ya disponible en versión preliminar pública".