Descubra as novidades de cada versão:
6.0: quais as novidades
Esta seção lista as alterações introduzidas nas seguintes versões de patch:
Versão 6.0.3
A versão do Django MongoDB Backend v6.0.3 inclui as seguintes funcionalidades, melhorias e correções:
Adiciona suporte para
ObjectIdcorrespondência em padrões de URL . Para saber mais,consulte Despachante de URL na documentação da API.Impede a criação de modelos que tenham campos criptografados em bancos de dados não criptografados, gerando um erro quando a Queryable Encryption não está configurada.
Versão 6.0.2
A versão do Django MongoDB Backend v6.0.2 inclui as seguintes funcionalidades, melhorias e correções:
Adiciona suporte para os métodos
QuerySet.intersection()eQuerySet.difference().Adiciona suporte para o
nulls_distinctparâmetro doUniqueConstraintconstrutor, que permite armazenar apenas um documento que tenha umNULLvalor. Para saber mais, consulte Especificar Restrições Únicas no guia Criar Modelos.Adiciona a
EmbeddedFieldIndexclasse , que habilita índices em subcampos deEmbeddedModelFieldEmbeddedModelArrayFieldvalores e. Para saber mais, consulte Índice de subcampo do modelo incorporado no guia Criar índices.Adiciona a
EmbeddedFieldUniqueConstraintclasse , que habilita restrições únicas em subcampos deEmbeddedModelFieldEmbeddedModelArrayFieldvalores e. Para saber mais, consulte Restrições de campos incorporados no guia Criar modelos.Corrige um bug que causava um erro ao chamar
Model.save()em modelos com campos criptografados.
Versão 6.0.1
A versão do Django MongoDB Backend v6.0.1 inclui as seguintes funcionalidades, melhorias e correções:
Adiciona suporte para Queryable Encryption. Para saber mais, consulte o tutorial Queryable Encryption .
Adiciona suporte para pesquisas espaciais. Para saber mais, consulte Valores geoespaciais de query no guia Especificar uma query.
Impede que
Indexverificações do sistema sejam executadas duas vezes.Adiciona mensagens de exceção a exceções
DatabaseErroreIntegrityError.Corrige o comportamento
QuerySet.defer()eQuerySet.only()para que os métodos projeto os campos corretos.Remove o uso de
$facetdos agregação pipelines, o que melhora o desempenho da query.
Versão 6.0.0
Aviso
Mudanças de última hora
O Django MongoDB Backend v6.0.0 lança as seguintes alterações significativas:
Remove o suporte para o
django_mongodb_backend.utils.parse_uri()método. Em vez disso, use aDATABASES["HOST"]tecla. Para saber mais, consulte Configurar automaticamente as configurações do banco de dados no guia Configurar sua conexão de banco de dados.Aumente a versão mínima suportada do MongoDB de 6.0 para 7.0.
Novidades no 5.2
Esta seção lista as alterações introduzidas nas seguintes versões de patch:
Versão 5.2.4
A versão do Django MongoDB Backend v5.2.4 inclui as seguintes funcionalidades, melhorias e correções:
Melhora o desempenho das operações de junção, que usam o estágio de agregação
$lookup, enviando condições complexas do estágio$matchpara o estágio$lookup
Versão 5.2.3
A versão do Django MongoDB Backend v5.2.3 inclui as seguintes funcionalidades, melhorias e correções:
Impede que queries
QuerySet.union()dupliquem o estágio de pipeline$project.Atualiza a classe
Valuepara envolver valores de string, dicionário e tupla no operador$literalpara evitar que o MongoDB os interprete como expressões. Da mesma forma, as queries que atualizam modelos agora envolvem valores no operador$literalpelo mesmo motivo.Simplifica
$lookupqueries utilizandolocalFieldeforeignField.
Versão 5.2.2
A versão do Django MongoDB Backend v5.2.2 inclui as seguintes funcionalidades, melhorias e correções:
Adiciona os seguintes argumentos do
SearchIndex, que permitem criar índices mais complexos:field_mappingsanalyzersearch_analyzer
Para saber mais,consulte Índices de pesquisa no guia Índices.
Corrige uma exceção
KeyErrorque ocorreu ao carregar modelos que contêmEmbeddedModelcampos usando um conversor de banco de dados , se o campo não estiver presente nos dados.Garante que o argumento
db_columnse aplique aos camposEmbeddedModel.Corrige o tipo de índice de pesquisa dos valores
EmbeddedModelFieldePolymorphicEmbeddedModelFielddeembeddedDocumentsadocument.Corrige o erro
transaction.atomic()que ocorria quando a conexão do banco de dados não era inicializada.Descontinua o método
django_mongodb_backend.utils.parse_uri(). Esse método será removido em uma versão futura.
Versão 5.2.1
A versão do Django MongoDB Backend v5.2.1 inclui as seguintes funcionalidades, melhorias e correções:
Adiciona suporte para especificar a string de conexão na
DATABASES["HOST"]chave em vez de utilizar odjango_mongodb_backend.utils.parse_uri()método. Para saber mais, consulte Configurar automaticamente as configurações do banco de dados no guia Configurar sua conexão de banco de dados.Instrui as operações de migração que adicionam ou excluem índices de pesquisa a aguardar até que a operação seja concluída no servidor, o que evita conflitos ao executar várias operações sequencialmente.
Configura queries simples que usam os seguintes operadores para usar
$matchem vez de$expr, o que permite que elas usem índices:$eq$in$and$or$gt$gte$lt$lte
Versão 5.2.0
Django MongoDB Backend v5.2.0 é a versão inicial de disponibilidade geral (GA). Para saber mais sobre os recursos do GA, consulte a publicação do blog Django MongoDB Backend Agora Geralmente Disponível.
Versão 5.2.0 beta 3
Aviso
Mudanças de última hora
A versão 3 do Django MongoDB Backend v5.2.0 introduz a seguinte alteração interruptiva:
Remove o suporte para pesquisas de correspondência de padrões em campos que não são strings. Anteriormente, essas pesquisas lançavam sua entrada usando o operador
$toString. Isso causava problemas de desempenho porque o MongoDB não podia usar índices ao executar a query.
Versão 5.2.0 beta 2
Aviso
Mudanças de última hora
Esta versão introduz as seguintes alterações de quebra:
Limita os valores
django.db.models.SmallIntegerFieldedjango.db.models.PositiveSmallIntegerFielda 32 bits em formulários e validação de modelo.Remove o suporte para cache do banco de dados . Isso impede que um invasor que tenha comprometido o banco de dados de use valores de cache codificados por pickle para executar comandos arbitrários no servidor de aplicação .
A versão Django MongoDB Backend v5.2.0 beta 2 inclui as seguintes funcionalidades, melhorias e correções:
Adiciona suporte para queries de pesquisa do MongoDB . Para saber mais, consulte o guia Executar uma query de pesquisa do MongoDB .
Adiciona suporte de subquery para
EmbeddedModelArrayFieldvalores. Para saber mais, consulte Valores de array de modelo incorporado de query no guia Especificar uma query.Adiciona o parâmetro
optionsao métododjango_mongodb_backend.utils.parse_uri().Adiciona suporte para transações de banco de dados . Para saber mais, consulte o guia Transações e Sessões.
Adiciona
PolymorphicEmbeddedModelFieldPolymorphicEmbeddedModelArrayFieldcampos e, que armazenam uma instância de modelo ou lista de instâncias de modelo que podem pertencer a mais de uma classe de modelo. Para saber mais, consulte Armazenar dados de modelo incorporados polimórficos no guia Criar modelos.Adiciona suporte GeoDjango. Para saber mais, consulte o guia Dados geoespaciais do modelo.
Atualiza
QuerySet.explain()para retornar uma string que pode ser analisada como JSON.Corrige a geração de restrição exclusiva para os campos
IntegerFieldePositiveBigIntegerField, que permitiam incorretamente valores duplicados maiores que 32 bits. Você deve recriar restrições exclusivas existentes para usar$type: longem vez deint.Envia os seguintes campos para o MongoDB como
bson.int64.Int64valores, que corrige restrições exclusivas em valores menores que 32 bits:IntegerFieldBigIntegerFieldPositiveIntegerFieldPositiveBigIntegerFieldDurationField
Melhora o desempenho do
QuerySetremovendo o limite inferior no chunking do lado do servidor.Melhora o desempenho das operações de junção, que usam o estágio de agregação
$lookup, ao enviar algumas condições simples do estágio$matchpara o estágio$lookup.
Versão 5.2.0 beta 1
A versão Django MongoDB Backend v5.2.0 beta 1 inclui as seguintes funcionalidades, melhorias e correções:
Adiciona o
EmbeddedModelArrayFieldcampo para armazenar uma lista de instâncias de modelo. Para saber mais, consulte Armazenar dados de array de modelos incorporados no guia Criar modelos.Corrige uma falha que ocorreu ao carregar modelos que têm um valor
ArrayFieldnulo e umbase_fieldutilizando um conversor de banco de dados .
Versão 5.2.0 beta 0
Aviso
Mudanças de última hora
Esta versão introduz as seguintes alterações de quebra:
Aumenta a versão mínima suportada do PyMongo de 4.6 para 4.7.
Remove o parâmetro
conn_max_agededjango_mongodb_backend.utils.parse_uri(). O Django MongoDB Backend agora usa conexões persistentes por padrão.
A versão Django MongoDB Backend v5.2.0 beta 0 inclui as seguintes funcionalidades, melhorias e correções:
Adiciona
SearchIndexVectorSearchIndexclasses e, que permitem criar índices de pesquisa MongoDB e Vector Search . Para saber mais, consulte Índices de pesquisa e Índices de Vector Search no guia Criar índices.Usa o pool de conexões do PyMongo por padrão.
Adiciona suporte para pesquisas personalizadas de um campo e transformações em um
EmbeddedModelField.Corrige os resultados de queries que utilizam o parâmetro
tzinfodas funções de banco de dados doTrunc.Adiciona suporte para os métodos
QuerySet.dates()eQuerySet.datetimes().Corrige o carregamento de resultados do
QuerySetpara campos de modelo incorporados que usam conversores de banco de dados .
Novidades no 5.1
Esta seção lista as alterações introduzidas nas seguintes versões de patch:
Versão 5.1.0 beta 4
Aviso
Mudanças de última hora
Esta versão introduz a seguinte alteração interruptiva:
Remove o suporte para cache do banco de dados . Isso impede que um invasor que tenha comprometido o banco de dados de use valores de cache codificados por pickle para executar comandos arbitrários no servidor de aplicação .
A versão Django MongoDB Backend v5.1.0 beta 4 inclui as seguintes funcionalidades, melhorias e correções:
Corrige uma falha que ocorreu ao carregar modelos que têm um valor de
ArrayFieldnulo e onde obase_fieldutiliza um conversor de banco de dados .Melhora o desempenho do
QuerySetremovendo o limite inferior no chunking do lado do servidor.
Versão 5.1.0 beta 3
A versão Django MongoDB Backend v5.1.0 beta 3 inclui as seguintes funcionalidades, melhorias e correções:
Adiciona suporte para as pesquisas e transformações personalizadas de um campo em um
EmbeddedModelFieldCorrige os resultados de queries que utilizam o parâmetro
tzinfodas funções de banco de dados doTruncAdiciona suporte para os métodos
QuerySet.dates()eQuerySet.datetimes()Corrige o carregamento de resultados do
QuerySetpara campos de modelo incorporados que usam conversores de banco de dados
Versão 5.1.0 beta 2
Aviso
Mudanças de última hora
Esta versão introduz a seguinte alteração interruptiva:
Renomeia o parâmetro
sizedeArrayFieldparamax_size. O parâmetrosizeagora é utilizado para impor arrays de comprimento fixo.
A versão Django MongoDB Backend v5.1.0 beta 2 inclui as seguintes funcionalidades, melhorias e correções:
Adiciona suporte para cache do banco de dados . Esse suporte foi removido posteriormente na v5.1.4.
Corrige a inicialização do campo
QuerySet.raw_aggregate()quando a ordem das chaves do documento não corresponde à ordem dos campos do modelo.
Versão 5.1.0 beta 1
Aviso
Mudanças de última hora
Esta versão introduz a seguinte alteração interruptiva:
ObjectIdAutoFieldnão aceita mais valores inteiros
A versão Django MongoDB Backend v5.1.0 beta 1 inclui as seguintes funcionalidades, melhorias e correções:
Adiciona suporte para salvar formulários de modelo incorporado aninhados
Corrige conexões de banco de dados persistentes
Adiciona suporte para operações assíncronas
Adiciona o parâmetro
db_nameao métododjango_mongodb_backend.utils.parse_uri()Adiciona um roteador
django_mongodb_backend.routers.MongoRouter, que garante que o Django MongoDB Backend não crie coleções para modelos incorporados e que o comandodumpdatanão inclua modelos incorporados
Versão 5.1.0 beta 0
Django MongoDB Backend v5.1.0 beta 0 é a versão inicial da pré-visualização pública. Para saber mais sobre os recursos de visualização pública, consulte a postagem do blog oficial Backend do MongoDB agora disponível em visualização pública.