Overview
En esta página, puedes encontrar información sobre las funcionalidades compatibles y no compatibles en el backend de MongoDB de Django. También puedes encontrar funcionalidades que actualmente están planeadas para lanzamientos futuros. Priorizaremos estas próximas funcionalidades según la demanda de los usuarios, y se puede solicitar soporte para una funcionalidad creando un problema en JIRA.
Limitaciones de rendimiento
Django MongoDB backend permite las siguientes operaciones, pero pueden ser menos eficientes:
Operación | Notas de rendimiento |
|---|---|
| Las consultas que utilizan el |
| Las consultas que utilizan el |
Funcionalidades de MongoDB
Esta sección indica si Django MongoDB Backend admite diversas funcionalidades de MongoDB.
Soporte de índice
Funcionalidad de MongoDB | Soporte actual |
|---|---|
índice de búsqueda | Parcialmente compatible. Los siguientes campos de definición de índice avanzados no son compatibles:
MongoDB no admite los índices de búsqueda en algunos tipos de datos. Para ver una lista de los tipos no admitidos, consulta Limitaciones de tipo de datos en la documentación de MongoDB Atlas. |
Índices de búsqueda vectorial | Soporte parcial. Puede usar Django MongoDB Backend para crear índices básicos de Búsqueda Vectorial que especifiquen un nombre de índice, los campos a indexar y una función de similitud. Todos los demás campos de definición de índice no están soportados. |
Índices compuestos | ✓ |
Índices de documentos incrustados | ✓ |
Índices geoespaciales | ✓ |
Multikey indexes | ✓ |
Índices parciales | ✓ |
Índices de un solo campo | ✓ |
Unique indexes | ✓ |
Actualización de los índices de modelos incrustados después de la creación del modelo | No admitido. |
| ✓ |
| No admitido. |
Soporte de tipo de datos
El backend de Django MongoDB actualmente admite todos los tipos de datos de MongoDB que no están incluidos en la siguiente tabla. Para ver una lista completa de los tipos compatibles, consulta la sección MongoDB BSON Fields de la guía Create Models to Represent Collections.
Tipo de dato BSON | Soporte actual |
|---|---|
| ✓ |
| No compatible. Sin embargo, planeamos tener compatibilidad con este tipo en una versión posterior a GA. |
Soporte de query
Funcionalidad de MongoDB | Soporte actual |
|---|---|
Operaciones de agregación | Soportado parcialmente. El Backend de Django MongoDB no incluye búsquedas de campos personalizadas de Django para el framework de agregación de MongoDB, pero se puede utilizar el método raw_aggregate(). |
queries de MongoDB Search | ✓ |
Operaciones de borrar | ✓ |
Query geoespacial | ✓ |
Operaciones de inserción | ✓ |
Operaciones de lectura | ✓ |
Operaciones de actualizar | ✓ |
Los query de MongoDB Vector Search | ✓ |
Soporte de bases de datos y colecciones
Funcionalidad de MongoDB | Soporte actual |
|---|---|
Soporte asincrónico | ✓ |
Autenticación | ✓ |
Almacenamiento de datos en caché | No compatible. Sin embargo, planeamos agregar soporte para esta funcionalidad en una versión posterior a GA. |
Flujos de cambio | No compatible. Sin embargo, planeamos agregar soporte para esta funcionalidad en una versión posterior a GA. |
Cifrado a nivel de campo del lado del cliente y Queryable Encryption | No compatible. Sin embargo, planeamos agregar soporte para esta funcionalidad en una versión posterior a GA. |
Interacción de la colección | ✓ |
Interacción con la base de datos | ✓ |
GridFS | No compatible. Sin embargo, planeamos agregar soporte para esta funcionalidad en una versión posterior a GA. |
Múltiples modelos para una colección | No admitido. |
Representando documentos | ✓ |
Validación de esquema | No compatible. Sin embargo, planeamos agregar soporte para esta funcionalidad en una versión posterior a GA. |
Datos de Time Series | ✓ |
Transacciones | ✓ |
Funcionalidades de Django
Esta sección indica si el Backend MongoDB de Django es compatible con varias funcionalidades de Django.
Soporte de campos
El backend de Django MongoDB admite actualmente todos los campos de Django que no estén incluidos en la siguiente tabla. Para ver una lista completa de los campos compatibles, consulta la sección Campos de Django de la guía Crear Modelos.
Tipo de campo Django | Soporte actual |
|---|---|
| No compatible. Los tipos |
| No admitido. |
| ✓ No se admite la |
| ✓ |
| Soportado parcialmente. Se puede utilizar este tipo de campo con las siguientes limitaciones:
|
| No admitido. |
| Soportado parcialmente. Se puede utilizar este tipo de campo con las siguientes limitaciones:
|
Soporte de query
Django MongoDB Backend actualmente es compatible con todos los métodos QuerySet de Django no incluidos en la siguiente tabla. Para ver los métodos compatibles, consulta QuerySet API en la documentación de Django.
Funcionalidad de Django QuerySet | Soporte actual |
|---|---|
| ✓ |
| No admitido. |
| No admitido. |
| No admitido. |
Consultas de búsqueda por patrón | ✓ |
| No admitido. |
| No compatible. Sin embargo, puedes utilizar el método |
| No admitido. |
| ✓ |
Soporte para funciones de bases de datos
El Backend de Django MongoDB actualmente admite todas las funciones de la base de datos que no están incluidas en la siguiente tabla. Para ver una lista completa de funciones, consulte Funciones de base de datos en la documentación de Django.
Función de Django | Soporte actual |
|---|---|
| No admitido. |
| No admitido. |
| No admitido. |
| No admitido. |
| No admitido. |
| No admitido. |
| No admitido. |
| No admitido. |
| No admitido. |
| No admitido. |
|
Soporte de la aplicación Contrib
Funcionalidad Django | Soporte actual |
|---|---|
Administrador de Django | ✓ |
Autenticación de Django | ✓ |
GeoDjango | Parcialmente compatible. Este framework web se admite con las siguientes limitaciones:
|
Soporte de formularios
El backend Django MongoDB es compatible con los formularios de Django, pero PolymorphicEmbeddedModelField y PolymorphicEmbeddedModelArrayField no aparecen en formularios.
Soporte para comando de gestión
El backend de MongoDB para Django actualmente es compatible con todos los comandos de gestión excepto los incluidos en la siguiente tabla. Para ver una lista completa de comandos, consulta Comandos disponibles en la documentación de Django.
Comando de Django | Soporte actual |
|---|---|
| No admitido. |
| No compatible. Sin embargo, planeamos agregar soporte para esta funcionalidad en una versión posterior a GA. |
| No compatible. Sin embargo, planeamos agregar soporte para esta funcionalidad en una versión posterior a GA. |
| No compatible. Sin embargo, planeamos agregar soporte para esta funcionalidad en una versión posterior a GA. |
Soporte para la migración
Funcionalidad Django | Soporte actual |
|---|---|
Creando, borrando y actualizando índices mediante comandos de migración | Soportado parcialmente. No puedes actualizar los índices en modelos integrados o en campos de arreglo. |
No admitido. | |
| No admitido. |
Migraciones para modelos integrados | Parcialmente compatible. Los comandos de migración no detectan cambios en los campos de modelos integrados ni en los modelos integrados referenciados por un |
Soporte para librerías de terceros
Librería | Soporte actual |
|---|---|
Parcialmente compatible. Para obtener más información sobre los casos de uso y las limitaciones de esta librería, consulte filtro Django en la documentación de Django MongoDB CLI. | |
Soportado parcialmente. Para aprender más sobre los casos de uso y las limitaciones de esta librería, consulta Django rest framework en la documentación de Django MongoDB CLI. | |
Parcialmente compatible. Para obtener más información sobre los casos de uso y limitaciones de esta librería, consulte Django allauth en la documentación de la CLI de Django MongoDB. | |
Parcialmente compatible. Para obtener más información sobre los casos de uso y las limitaciones de esta librería, consulte Barra de herramientas de depuración de Django en la documentación de MongoDB CLI de Django. |