Django and MongoDB Feature Compatibility
On this page
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 the General Availability (GA) and post-GA releases. We will prioritize these upcoming features based on user demand, and you can request support for a feature by creating a JIRA issue.
MongoDB Features
This section indicates whether the Django MongoDB Backend supports various MongoDB features and which features we plan to support in the GA release.
Important
Unsupported MongoDB features that have a checkmark (✓
) symbol in the
General Availability Support column are planned for the GA
release. However, support is not guaranteed.
Index Support
MongoDB Feature | Current Support | General Availability Support |
---|---|---|
Atlas Search and Atlas Vector Search indexes | Unsupported. You cannot use the Django Indexes API to create these indexes, but you can use the PyMongo Driver by exposing your MongoClient. | ✓ |
Compound indexes | ✓ | ✓ |
Embedded document indexes | ✓ | ✓ |
Geospatial indexes | Unsupported. You cannot use the Django Indexes API to create these indexes, but you can use the PyMongo Driver by exposing your MongoClient. | ✓ |
Multikey indexes | ✓ | ✓ |
Partial indexes | ✓ | ✓ |
Single field indexes | ✓ | ✓ |
Unique indexes | ✓ | ✓ |
Updating | 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 guide.
BSON Data Type | Current Support | General Availability Support |
---|---|---|
| Partially Supported. You can use the
| ✓ |
| Partially Supported. You can use the
| Partial Support Planned. We plan to add support for registering
|
| Unsupported. | Unsupported. However, we plan to support this type in a post-GA release. |
Query Support
MongoDB Feature | Current Support | General Availability 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. | Full Support Not Planned. However, we plan to add support for MongoDB aggregation operators in a post-GA release. |
Atlas Search queries | Partially Supported. You cannot use the Django
| ✓ |
Delete operations | ✓ | ✓ |
Geospatial queries | Partially Supported. You cannot use the Django
| ✓ |
Insert operations | ✓ | ✓ |
Read operations | ✓ | ✓ |
Update operations | ✓ | ✓ |
Vector Search queries | Partially Supported. You cannot use the Django
| ✓ |
Database and Collection Support
MongoDB Feature | Current Support | General Availability Support |
---|---|---|
Asynchronous support | ✓ | ✓ |
Authentication | ✓ | ✓ |
Cached data storage | Unsupported. | ✓ |
Change Streams | Unsupported. | Unsupported. However, we plan to add support for this feature in a post-GA release. |
Client-side Field Level Encryption and Queryable Encryption | Unsupported. | ✓ |
Collection interaction | ✓ | ✓ |
Database interaction | ✓ | ✓ |
GridFS | Unsupported. | Unsupported. However, we plan to add support for this feature in a post-GA release. |
Multiple models for one collection | Unsupported. | ✓ |
Representing documents | ✓ Use models to represent MongoDB documents. | ✓ |
Schema validation | Unsupported. | Unsupported. However, we plan to add support for this feature in a post-GA release. |
Timeseries data | ✓ | ✓ |
Transactions | Unsupported. | ✓ |
Django Features
This section indicates whether the Django MongoDB Backend supports various Django features and which features we plan to support in the GA release.
Important
Unsupported Django features that have a checkmark (✓
) symbol in the
General Availability Support column are planned for the GA
release. However, support is not guaranteed.
Field Type Support
Django MongoDB Backend currently supports all Django field types 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 | General Availability Support |
---|---|---|
| Unsupported. The | Unsupported. |
| Partially Supported. You can use this field type with the following limitations:
| Full Support Not Planned. |
| Partially Supported. You can use this field type with the following limitations:
| Full Support Not Planned. |
| Partially Supported. You can use this field type with the following limitations:
| Full Support Not Planned. |
| Unsupported. | Unsupported. |
| Partially Supported. You can use this field type with the following limitations:
| Full Support Not Planned. However, we plan to address the
|
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 | General Availability Support |
---|---|---|
| Unsupported. | Unsupported. |
| Unsupported. | Unsupported. |
| Unsupported. | Unsupported. |
| Partially Supported. You cannot use this method to perform queries that span multiple collections. | Full Support Not Planned. |
| Unsupported. | Unsupported. |
| Partially Supported. You can use MongoDB's $lookup pipeline stage to perform joins. | Full Support Not Planned. |
| Unsupported. | Unsupported. |
| Unsupported. However, you can use the | Full Support Not Planned. |
| Partially Supported. You cannot use this method to perform queries that span multiple collections. | Full Support Not Planned. |
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 | General Availability Support |
---|---|---|
| Unsupported. | Unsupported. |
| Unsupported. | Unsupported. |
| Unsupported. | Unsupported. |
| Unsupported. | Unsupported. |
| Unsupported. | Unsupported. |
| Unsupported. | Unsupported. |
| Unsupported. | Unsupported. |
| Unsupported. | Unsupported. |
| Unsupported. | Unsupported. |
| Unsupported. | Unsupported. |
| Unsupported. | Unsupported. |
| Partially Supported. The | Full Support Not Planned. |
Management Support
Django Feature | Current Support | General Availability Support |
---|---|---|
Django Admin | ✓ | ✓ |
Django Forms | ✓ | ✓ |
Django Authentication | ✓ | ✓ |
Management commands | Partially Supported. To view the unsupported commands, see the following section. | Full Support Not Planned. |
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 | General Availability Support |
---|---|---|
| Unsupported. | Unsupported. |
| Unsupported. | ✓ |
| Unsupported. | Unsupported. However, we plan to support this command in a post-GA release. |
| Unsupported. | ✓ |
| Unsupported. | Unsupported. |
| Unsupported. | Unsupported. |
Migration Support
Django Feature | Current Support | General Availability Support |
---|---|---|
Creating, deleting, and updating indexes through migration commands | Partially Supported. You cannot update indexes on embedded model or array fields. | Full Support Not Planned. |
Unsupported. | Unsupported. | |
| Unsupported. | Unsupported. |
Third Party Library Support
Library | Current Support | General Availability Support |
---|---|---|
Partially Supported. Most use cases are supported. | Partially Supported. This release will outline use case limitations. | |
Partially Supported. Most use cases are supported. | Partially Supported. This release will outline use case limitations. | |
Partially Supported. Most use cases are supported. | Partially Supported. This release will outline use case limitations. | |
Unsupported. | Partially Supported. This release will outline use case limitations. | |
Partially Supported. Most use cases are supported. | Partially Supported. This release will outline use case limitations. |