-
Notifications
You must be signed in to change notification settings - Fork 7
DOCSP-46329 Add Limitations page #12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 1 commit
2c92609
4734d96
ff06bae
e0e4b5f
f5dc1d5
de3902f
8819421
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
@@ -0,0 +1,197 @@ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
.. _django-limitations: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
============ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Limitations | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
============ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
.. contents:: On this page | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
:local: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
:backlinks: none | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
:depth: 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
:class: singlecol | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
.. facet:: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
:name: genre | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
:values: reference | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
.. meta:: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
:keywords: support, features, django | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Overview | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-------- | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
On this page, you can find a list of features that | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
{+django-odm+} does not support. Because {+django-odm+} is in active | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
development, some features listed on this page might be considered for future | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
releases based on customer demand. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Unsupported Database Variables | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
------------------------------ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The following database variables are not supported by {+django-odm+}: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
- ``ATOMIC_REQUESTS`` | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
- ``AUTOCOMMIT`` | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
- ``CONN_HEALTH_CHECKS`` | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
- ``TIME_ZONE`` | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Model Limitations | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
----------------- | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The following model limitations apply to {+django-odm+}: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
- {+django-odm+} does not support multiple models within a collection. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Indexes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
~~~~~~~ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Q: should we also mention that expression indexes aren't supported? @Jibola |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
{+django-odm+} does not support the following index functionalities: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
- Creation of ``$vectorSearch`` and ``$search`` indexes through the Django | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
- Creation of ``$vectorSearch`` and ``$search`` indexes through the Django | |
- Creating ``$vectorSearch`` and ``$search`` indexes through the Django |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we link to the page where we cover exposing mongoclient so that people know the workaround? @Jibola
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, that's in the "Raw Queries" section
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
S: a little clearer
- {+django-odm+} does not support ``EmbeddedModelField`` within an ``ArrayField``. | |
- {+django-odm+} does not support nesting an ``EmbeddedModelField`` within an ``ArrayField``. |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- You cannot change embedded models after creation. | |
- EmbeddedModel schema changes do not register after creation. |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fields. You must derive all fields from a ``Model`` class. | |
fields. You must derive all fields from a ``EmbeddedModel`` class. |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
S: I think using field/value mongodb terminology makes more sense, since you use "value" in the first bullet
- Filtering with a ``None`` key incorrectly returns objects in which a key | |
does not exist. | |
- Filtering for ``None`` values incorrectly returns objects in which a field | |
does not exist. |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I: indentation error here; maybe this fixes it?
- {+django-odm+} does not support microsecond granularity for | |
``DateTimeField``. | |
- {+django-odm+} does not support microsecond granularity for | |
``DateTimeField``. |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
S: to avoid starting list items with articles:
- The ``DurationField`` stores milliseconds rather than microseconds. | |
- ``DurationField`` stores milliseconds rather than microseconds. |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
S: remove comma before dependent clause
``EmbeddedModelField`` emulates a MongoDB embedded document, and performs | |
``EmbeddedModelField`` emulates a MongoDB embedded document and performs |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
S: might be better to link to the specific cascade section; also article
- The performance of `CASCADE deletes <{+django-docs+}/ref/models/fields/#foreignkey>`__ | |
- Performance of `CASCADE deletes <{+django-docs+}/ref/models/fields/#django.db.models.CASCADE>`__ |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- The ``DurationField`` stores milliseconds rather than microseconds. | |
The following field types are unavailable in {+django-odm+}: | |
- ``GeneratedField`` | |
- ``ImageField`` | |
- ``ForeignKey`` | |
- When possible, you should use an ``EmbeddedModelField`` instead of a | |
``ForeignKey`` field to avoid using ``$lookup`` operations. An | |
``EmbeddedModelField`` emulates a MongoDB embedded document, and performs | |
better than a ``ForeignKey`` field. To learn more about how to reduce | |
``$lookup`` operations, see the :atlas:`Reduce $lookup Operations | |
</schema-suggestions/reduce-lookup-operations/>` guide in the Atlas | |
documentation. | |
- The performance of `CASCADE deletes <{+django-docs+}/ref/models/fields/#foreignkey>`__ | |
on a ``ForeignKey`` field is not as performant as using an | |
``EmbeddedModelField``. | |
- The ``DurationField`` stores milliseconds rather than microseconds. | |
- ``ForeignKey`` | |
- When possible, you should use an ``EmbeddedModelField`` instead of a | |
``ForeignKey`` field to avoid using ``$lookup`` operations. An | |
``EmbeddedModelField`` emulates a MongoDB embedded document, and performs | |
better than a ``ForeignKey`` field. To learn more about how to reduce | |
``$lookup`` operations, see the :atlas:`Reduce $lookup Operations | |
</schema-suggestions/reduce-lookup-operations/>` guide in the Atlas | |
documentation. | |
- The performance of `CASCADE deletes <{+django-docs+}/ref/models/fields/#foreignkey>`__ | |
on a ``ForeignKey`` field is not as performant as using an | |
``EmbeddedModelField``. | |
The following field types are unavailable in {+django-odm+}: | |
- ``GeneratedField`` | |
- ``ImageField`` | |
This needs to be moved to above the "The following field types are unavailable..." - JSONField
has its own section.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Jibola do we want to add a line around lack of support for Embeddedfield in Array. If their data is of this type they should use Join for now until we release the support for embeddedfield in array?
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- {+django-odm+} does not have any ``$lookup`` operators for MongoDB-specific | |
- {+django-odm+} does not have any Django lookup operators for MongoDB-specific |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
S:
Aggregation operators | |
Aggregation Operators |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
S: lowercase field (I think)
{+django-odm+} does not contain any custom Django Field lookups for the MongoDB | |
{+django-odm+} does not contain any custom Django field lookups for the MongoDB |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
S: you can link to the raw query guide; also, I'd add () after method names
aggregation framework. Instead, use the ``raw_aggregate`` method. For more | |
information on the ``raw_aggregate`` method. | |
aggregation framework. Instead, use the ``raw_aggregate()`` method. For more | |
information on the ``raw_aggregate()`` method, see | |
the :ref:`django-raw-queries` guide. |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Jibola @jordan-smith721 How does this sound?
Since this release is a Public Preview, our primary focus has been on feature development rather than performance optimizations. You may or may not notice performance limitations with certain workloads. If you encounter any performance issues, please file a ticket or share your feedback https://feedback.mongodb.com/forums/924286-drivers?category_id=370732.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Jibola @jordan-smith721 Are we not covering MongoDB feature limitations here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jordan-smith721 we should probably add a link here that if you a user wants us to support any specific feature listed here. They should let us know through our feedback portal: https://feedback.mongodb.com/forums/924286-drivers?category_id=370732 They can also vote on existing requested feature if it is relevant to them.