Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Menu Docs
Página inicial do Docs
/ /

Comece a usar as extensões do Django MongoDB

Neste tutorial, você pode aprender como usar o pacote Django MongoDB Extensions em seu projeto Django.

O Django MongoDB Extensions é um pacote que estende o Django MongoDB Backend com ferramentas de desenvolvedor. Este tutorial mostra como configurar o painel MongoDB Query Language (MQL) nas extensões do Django MongoDB para usar com a barra de ferramentas de depuração do Django. Este painel mostra as queries MQL que seu aplicação executa durante uma solicitação, juntamente com os tempos de execução e planos de query.

Antes de iniciar este tutorial, conclua as seguintes tarefas de pré-requisito:

  • Crie um projeto Django que use Django MongoDB Backend. Para criar um projeto, consulte o tutorial Introduçãoao Backend do MongoDB do Django.

  • Instale e configure a barra de ferramentas de depuração Django em seu projeto. Para visualizar as instruções, consulte Instalação do na documentação da barra de ferramentas de depuração do Django.

As etapas a seguir mostram como instalar as extensões do MongoDB do Django, configurar o painel MQL e visualizar queries do MongoDB na barra de ferramentas de depuração do Django.

1

Execute o seguinte comando para instalar as extensões do Django MongoDB :

pip install django-mongodb-extensions
2

Navegue até o arquivo settings.py do seu projeto e adicione "django_mongodb_extensions" à configuração INSTALLED_APPS, conforme mostrado no exemplo a seguir:

INSTALLED_APPS = [
'django_mongodb_extensions',
# ... your other apps
]
3

Por padrão, a barra de ferramentas de depuração do Django funciona sem exigir uma configuração do DEBUG_TOOLBAR_PANELS. No entanto, como o MongoDB não usa SQL, a configuração mais comum para aplicativos MongoDB é substituir o painel SQL pelo painel MQL . Adicione a seguinte configuração ao seu arquivo settings.py, que define DEBUG_TOOLBAR_PANELS para os valores padrão, mas substitui SQLPanel por MQLPanel:

DEBUG_TOOLBAR_PANELS = [
'debug_toolbar.panels.history.HistoryPanel',
'debug_toolbar.panels.versions.VersionsPanel',
'debug_toolbar.panels.timer.TimerPanel',
'debug_toolbar.panels.settings.SettingsPanel',
'debug_toolbar.panels.headers.HeadersPanel',
'debug_toolbar.panels.request.RequestPanel',
'django_mongodb_extensions.mql_panel.MQLPanel',
'debug_toolbar.panels.staticfiles.StaticFilesPanel',
'debug_toolbar.panels.templates.TemplatesPanel',
'debug_toolbar.panels.alerts.AlertsPanel',
'debug_toolbar.panels.cache.CachePanel',
'debug_toolbar.panels.signals.SignalsPanel',
'debug_toolbar.panels.community.CommunityPanel',
'debug_toolbar.panels.redirects.RedirectsPanel',
'debug_toolbar.panels.profiling.ProfilingPanel',
]

Dica

Configurações opcionais

Para saber como definir configurações opcionais que personalizam o comportamento do painel MQL , consulte o README no repositório Django MongoDB Extensions no GitHub.

4

Inicie seu servidor de desenvolvimento executando o seguinte comando:

python manage.py runserver

Navegue até qualquer página em seu aplicação que consulte o MongoDB. Abra a Barra de Ferramentas de Depuração Django e selecione o painel MQL para visualizar as queries do MongoDB executadas durante a solicitação, incluindo seus tempos de execução e planos explicativos.

5

Se você configurar as Extensões do Django MongoDB para o aplicação criado no tutorial Introdução ao Backend do Django MongoDB , poderá navegar até http://:127.0.0.1 8000/recent_movies/ para visualizar as queries do MongoDB executadas durante a solicitação.

A barra de ferramentas de depuração do Django aparece no lado direito da página. Selecione o rótulo MQL para visualizar a consulta MongoDB utilizada para exibir os filmes recentes, que se assemelha ao seguinte código:

db.movies.aggregate([{'$addFields': {'released': '$released'}}, {'$sort': SON([('released', -1)])}, {'$limit': 5}])

Em seguida, você pode explorar as informações da query clicando nos seguintes botões:

  1. Selecione o botão + à esquerda da query para visualizar o rastreamento, que se assemelha ao seguinte código:

    /path/to/site-packages/django/contrib/staticfiles/handlers.py in __call__(80)
    return self.application(environ, start_response)
    /path/to/djangoquickstart/sample_mflix/views.py in recent_movies(11)
    return render(request, "recent_movies.html", {"movies": movies})
    /path/to/site-packages/django/shortcuts.py in render(25)
    content = loader.render_to_string(template_name, context, request, using=using)
    ...
  2. Selecione o botão Query à direita da query, na coluna ACTION, para visualizar a MQL impressa. Este MQL se assemelha ao seguinte código:

    db.movies.aggregate(
    [
    {
    "$addFields": {
    "released": "$released"
    }
    },
    {
    "$sort": {
    "released": -1
    }
    },
    {
    "$limit": 5
    }
    ]
    )
  3. Selecione o botão Explain à direita da query, na coluna ACTION, para visualizar o plano explicativo da query. Este plano se assemelha ao seguinte código:

    {
    "explainVersion": "1",
    "stages": [
    {
    "$cursor": {
    "queryPlanner": {
    ...
    },
    "executionStats": {
    ...
    }
    },
    "nReturned": 21351,
    "executionTimeMillisEstimate": 59
    },
    {
    "$addFields": {
    "released": "$released"
    },
    "nReturned": 21351,
    "executionTimeMillisEstimate": 70
    },
    {
    "$sort": {
    "sortKey": {
    "released": -1
    },
    "limit": 5
    },
    ...
    }
    ],
    ...
    }

Parabéns por concluir o tutorial Django MongoDB Extensions! Agora você tem um aplicação Django que usa Extensões do MongoDB do Django para visualizar e analisar queries do MongoDB na barra de ferramentas de depuração do Django.

Para saber mais sobre o pacote Django MongoDB Extensions, consulte django-mongodb-extensions no PyPI e o repositório django-mongodb-extentions no GitHub.

Para saber como executar query de seus dados, consulte o guia Especificar uma query.

Voltar

Queryable Encryption

Nesta página