Overview
On this page, you can find information about supported and unsupported features in Django MongoDB Backend. You can also find features currently planned for future releases. We will prioritize these upcoming features based on user demand, and you can request support for a feature by creating a JIRA issue.
Performance Limitations
Django MongoDB Backend supports the following operations, but they might be less performant:
Operation | Performance Notes |
|---|---|
| Queries that use the |
| Queries that use the |
MongoDB Features
This section indicates whether Django MongoDB Backend supports various MongoDB features.
Index Support
MongoDB Feature | Current Support |
|---|---|
Search indexes | Partially Supported. The following advanced index definition fields are unsupported:
MongoDB does not support Search indexes on some data types. To view a list of unsupported types, see Data Type Limitations in the MongoDB Atlas documentation. |
Vector Search indexes | Partially Supported. You can use Django MongoDB Backend to create basic Vector Search indexes that specify an index name, the fields to index, and a similarity function. All other index definition fields are unsupported. |
Compound indexes | ✓ |
Embedded document indexes | ✓ |
Geospatial indexes | ✓ |
Multikey indexes | ✓ |
Partial indexes | ✓ |
Single field indexes | ✓ |
Unique indexes | ✓ |
Updating embedded model indexes after model creation | Unsupported. |
| ✓ |
| Unsupported. |
Data Type Support
Django MongoDB Backend currently supports all MongoDB data types not included in the following table. To view a full list of supported types, see the MongoDB BSON Fields section of the Create Models to Represent Collections guide.
BSON Data Type | Current Support |
|---|---|
| ✓ |
| Unsupported. However, we plan to support this type in a post-GA release. |
Query Support
MongoDB Feature | Current Support |
|---|---|
Aggregation operations | Partially Supported. The Django MongoDB Backend does not include custom Django field lookups for the MongoDB aggregation framework, but you can use the raw_aggregate() method. |
MongoDB Search queries | ✓ |
Delete operations | ✓ |
Geospatial queries | ✓ |
Insert operations | ✓ |
Read operations | ✓ |
Update operations | ✓ |
MongoDB Vector Search queries | ✓ |
Database and Collection Support
MongoDB Feature | Current Support |
|---|---|
Asynchronous support | ✓ |
Authentication | ✓ |
Cached data storage | Unsupported. However, we plan to add support for this feature in a post-GA release. |
Change Streams | Unsupported. However, we plan to add support for this feature in a post-GA release. |
Client-side Field Level Encryption and Queryable Encryption | Unsupported. However, we plan to add support for this feature in a post-GA release. |
Collection interaction | ✓ |
Database interaction | ✓ |
GridFS | Unsupported. However, we plan to add support for this feature in a post-GA release. |
Multiple models for one collection | Unsupported. |
Representing documents | ✓ |
Schema validation | Unsupported. However, we plan to add support for this feature in a post-GA release. |
Timeseries data | ✓ |
Transactions | ✓ |
Django Features
This section indicates whether the Django MongoDB Backend supports various Django features.
Field Support
Django MongoDB Backend currently supports all Django fields not included in the following table. To view a full list of supported fields, see the Django Fields section of the Create Models guide.
Django Field Type | Current Support |
|---|---|
| Unsupported. The |
| Unsupported. |
| ✓ |
| ✓ |
| Partially Supported. You can use this field type with the following limitations:
|
| Unsupported. |
| Partially Supported. You can use this field type with the following limitations:
|
Query Support
Django MongoDB Backend currently supports all Django QuerySet methods not included in the following table. To view the supported methods, see QuerySet API in the Django documentation.
Django QuerySet Feature | Current Support |
|---|---|
| ✓ |
| Unsupported. |
| Unsupported. |
| Unsupported. |
Pattern-matching lookups | ✓ |
| Unsupported. |
| Unsupported. However, you can use the |
| Unsupported. |
| ✓ |
Database Function Support
Django MongoDB Backend currently supports all database functions not included in the following table. To view a full list of functions, see Database Functions in the Django documentation.
Django Function | Current Support |
|---|---|
| Unsupported. |
| Unsupported. |
| Unsupported. |
| Unsupported. |
| Unsupported. |
| Unsupported. |
| Unsupported. |
| Unsupported. |
| Unsupported. |
| Unsupported. |
| Unsupported. |
|
Contrib App Support
Django Feature | Current Support |
|---|---|
Django Admin | ✓ |
Django Authentication | ✓ |
GeoDjango | Partially Supported. This web framework is supported with the following limitations:
|
Forms Support
Django MongoDB Backend supports Django forms, but PolymorphicEmbeddedModelField and PolymorphicEmbeddedModelArrayField do not appear in forms.
Management Command Support
Django MongoDB Backend currently supports all management commands not included in the following table. To view a full list of commands, see Available commands in the Django documentation.
Django Command | Current Support |
|---|---|
| Unsupported. |
| Unsupported. However, we plan to add support for this feature in a post-GA release. |
| Unsupported. However, we plan to add support for this feature in a post-GA release. |
| Unsupported. However, we plan to add support for this feature in a post-GA release. |
Migration Support
Django Feature | Current Support |
|---|---|
Creating, deleting, and updating indexes through migration commands | Partially Supported. You cannot update indexes on embedded model or array fields. |
Unsupported. | |
| Unsupported. |
Migrations for embedded models | Partially Supported. Migration commands do not detect changes to embedded model fields or embedded models referenced by a |
Third Party Library Support
Library | Current Support |
|---|---|
Partially Supported. To learn more about the use cases and limitations of this library, see Django filter in the Django MongoDB CLI documentation. | |
Partially Supported. To learn more about the use cases and limitations of this library, see Django rest framework in the Django MongoDB CLI documentation. | |
Partially Supported. To learn more about the use cases and limitations of this library, see Django allauth in the Django MongoDB CLI documentation. | |
Partially Supported. To learn more about the use cases and limitations of this library, see Django debug toolbar in the Django MongoDB CLI documentation. |