Visão geral
Nesta página, você pode encontrar informações sobre os recursos compatíveis e não suportados no backend do Django MongoDB . Você também pode encontrar recursos atualmente planejados para versões futuras. Priorizaremos esses recursos futuros com base na demanda do usuário, e você pode solicitar suporte para um recurso criando um problema do JIRA.
Limitações de desempenho
O Django MongoDB Backend suporta as seguintes operações, mas elas podem ter menos desempenho:
(operação) | Notas de desempenho |
|---|---|
| Queries that use the $expr operator might run slowly, since
this operator often cannot predict which index to use and performs
a collection scan. Some QuerySet operations, such as queries that
specify an in lookup, use $expr to evaluate the query results and
experience degraded performance.We plan to address this performance issue in a
post-GA release. |
| Queries that use the $lookup operator might run slowly.
To improve performance, we recommend that you use embedded
models instead of the $lookup operator when possible.
To learn more about how to reduce $lookup operations, see the Reduce $lookup Operations guide in the MongoDB Atlas
documentation. |
Funcionalidades do MongoDB
Esta seção indica se o Django MongoDB Backend oferece suporte a vários recursos do MongoDB .
Suporte ao índice
Funcionalidade do MongoDB | Suporte atual |
|---|---|
Índices de pesquisa | Parcialmente suportado. Os seguintes campos de definição de índice avançada não são suportados:
O MongoDB não suporta índices de pesquisa em alguns tipos de dados. Para exibir uma lista de tipos não suportados, consulte Limitações de tipo de dados na documentação do MongoDB Atlas . |
Índices de Vector Search | Parcialmente suportado. Você pode usar o Django MongoDB Backend para criar índices básicos do Vector Search que especificam um nome de índice, os campos para indexar e uma função de similaridade. Todos os outros campos de definição de índice não são suportados. |
Índices compostos | ✓ |
Índices de documento incorporados | ✓ |
Índices geoespaciais | ✓ |
Índices multichave | ✓ |
Índices parciais | ✓ |
Índices de campo único | ✓ |
Unique indexes | ✓ |
Atualização de índices de modelo incorporados após a criação do modelo | Não compatível. |
| ✓ |
| Não compatível. |
Suporte ao tipo de dados
Atualmente, o Django MongoDB Backend suporta todos os tipos de dados MongoDB não incluídos na tabela a seguir. Para visualizar uma lista completa dos tipos compatíveis, consulte a seção Campos BSON do MongoDB do guia Criar modelos.
Tipo de dados BSON | Suporte atual |
|---|---|
| ✓ You can use embedded models and polymorphic embedded models to represent objects.
If you are using the EmbeddedModelField field, the following
limitations apply:
- Foreign key fields are not supported.
- Arbitrary or untyped embedded model fields are not supported. You must
derive all fields from an EmbeddedModel class. |
| Não compatível. No entanto, planejamos oferecer suporte a esse tipo em uma versão pós-GA. |
Suporte a consultas
Funcionalidade do MongoDB | Suporte atual |
|---|---|
Operações de agregação | Parcialmente suportado. O backend do MongoDB Django não inclui pesquisas de campo personalizadas do Django para a estrutura de agregação do MongoDB, mas você pode usar o método bruto_aggregate(). |
Queries de pesquisa do MongoDB | ✓ |
Excluir operações | ✓ |
Consultas geoespaciais | ✓ Use the raw_aggregate() method
to run geospatial queries instead of the GIS QuerySet API. |
Inserir operações | ✓ |
Ler operações | ✓ |
Atualizar operações | ✓ |
Queries do MongoDB Vector Search | ✓ |
Suporte a banco de dados e collection
Funcionalidade do MongoDB | Suporte atual |
|---|---|
Suporte assíncrono | ✓ |
Autenticação | ✓ |
Armazenamento de dados em cache | Não compatível. No entanto, planejamos adicionar suporte para esse recurso em uma versão pós-GA. |
Fluxos de alterações | Não compatível. No entanto, planejamos adicionar suporte para esse recurso em uma versão pós-GA. |
Criptografia no nível do campo do lado do cliente e Queryable Encryption | Não compatível. No entanto, planejamos adicionar suporte para esse recurso em uma versão pós-GA. |
Interação de coleção | ✓ |
Interação com o banco de dados | ✓ |
GridFS | Não compatível. No entanto, planejamos adicionar suporte para esse recurso em uma versão pós-GA. |
Vários modelos para uma coleção | Não compatível. |
Representação de documentos | ✓ Use models to represent MongoDB documents. |
Validação de esquema | Não compatível. No entanto, planejamos adicionar suporte para esse recurso em uma versão pós-GA. |
Dados de Time Series | ✓ |
Transações | ✓ You can use Django MongoDB Backend's custom transactions API with the
following limitations:
- QuerySet.union() is not supported within a transaction.
- Savepoints, or nested atomic blocks, are not supported. The outermost atomic block starts
a transaction, and any subsequent atomic blocks have no effect.
- Your MongoDB deployment must be a replica set or sharded cluster. |
Funcionalidades do Django
Esta seção indica se o Backend do MongoDB do Django suporta vários recursos do Django.
Suporte de campo
Atualmente, o MongoDB Backend do Django suporta todos os campos do Django não incluídos na tabela a seguir. Para visualizar uma lista completa de campos suportados, consulte a seção Campos Django do guia Criar Modelos.
Tipo de campo Django | Suporte atual |
|---|---|
| Não compatível. Os tipos |
| Não compatível. |
| ✓ Microsecond granularity for DateTimeField values is not supported. |
| ✓ DurationField stores milliseconds rather than microseconds. |
| Parcialmente suportado. Você pode usar este tipo de campo com as seguintes limitações:
|
| Não compatível. |
| Parcialmente suportado. Você pode usar este tipo de campo com as seguintes limitações:
|
Suporte a consultas
Atualmente, o Backend do Django MongoDB suporta todos os métodos do Django QuerySet não incluídos na tabela a seguir. Para visualizar os métodos suportados, consulte API QuerySet na documentação do Django.
Recurso Django QuerySet | Suporte atual |
|---|---|
| ✓ You cannot use this method to perform
queries that span multiple collections. |
| Não compatível. |
Pesquisas de correspondência de padrões | ✓ You can only use these lookups to query string fields. The pattern-matching lookups are iexact, startswith, istartswith,
endswith, iendswith, contains, icontains, regex, and
iregex |
| Não compatível. |
| Não compatível. No entanto, você pode usar o método |
| ✓ You cannot use this method to perform
queries that span multiple collections. |
Suporte a funções de banco de dados
O Django MongoDB Backend suporta atualmente todas as funções de banco de dados não incluídas na tabela a seguir. Para visualizar uma lista completa de funções, consulte Funções do banco de dados na documentação do Django.
Função Django | Suporte atual |
|---|---|
| Não compatível. |
| Não compatível. |
| Não compatível. |
| Não compatível. |
| Não compatível. |
| Não compatível. |
| Não compatível. |
| Não compatível. |
| Não compatível. |
| Não compatível. |
| Não compatível. |
|
Suporte ao Aplicativo Contrib
Funcionalidade Django | Suporte atual |
|---|---|
Administrador do Django | ✓ |
Autenticação Django | ✓ |
GeoDjango | Parcialmente suportado. Essa estrutura da web é suportada com as seguintes limitações:
|
Suporte a formulários
O backend do MongoDB do Django suporta formulários do Django, mas o PolymorphicEmbeddedModelField e o PolymorphicEmbeddedModelArrayField não aparecem nos formulários.
Suporte de comando de gerenciamento
O Django MongoDB Backend suporta atualmente todos os comandos de gerenciamento não incluídos na tabela a seguir. Para visualizar uma lista completa de comandos, consulte Comandos disponíveis na documentação do Django.
Comando Django | Suporte atual |
|---|---|
| Não compatível. |
| Não compatível. No entanto, planejamos adicionar suporte para esse recurso em uma versão pós-GA. |
| Não compatível. No entanto, planejamos adicionar suporte para esse recurso em uma versão pós-GA. |
| Não compatível. No entanto, planejamos adicionar suporte para esse recurso em uma versão pós-GA. |
Suporte à migração
Funcionalidade Django | Suporte atual |
|---|---|
Criar, excluir e atualizar índices por meio de comandos de migração | Parcialmente suportado. Não é possível atualizar índices em campos de modelo ou array incorporados. |
Não compatível. | |
| Não compatível. |
Migrações para modelos embarcados | Parcialmente suportado. Os comandos de migração não detectam alterações nos campos do modelo incorporado ou nos modelos incorporados referenciados por |
Suporte a bibliotecas de terceiros
Biblioteca | Suporte atual |
|---|---|
Parcialmente suportado. Para saber mais sobre os casos de uso e limitações desta biblioteca, consulte Filtro Django na documentação do Django MongoDB CLI. | |
Parcialmente suportado. Para saber mais sobre os casos de uso e limitações desta biblioteca, consulte Django rest framework na documentação do Django MongoDB CLI. | |
Parcialmente suportado. Para saber mais sobre os casos de uso e limitações desta biblioteca, consulte Django allauth na documentação do Django MongoDB CLI. | |
Parcialmente suportado. Para saber mais sobre os casos de uso e limitações desta biblioteca, consulte Barra de ferramentas de depuração do Django na documentação do Django MongoDB CLI. |