Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Realizar operações CRUD

Neste guia, você pode aprender como usar o Django MongoDB Backend para executar operações de criação, leitura, atualização e exclusão (CRUD) em sua coleção do MongoDB .

Você também pode usar o site de administração do Django para editar seus modelos e suas coleções correspondentes em uma interface da Web. Para obter mais informações, consulte a entrada do Site do administrador do Django na documentação do Django.

Você pode usar métodos fornecidos pela API do Django QuerySet para executar operações CRUD. Para executar essas operações, você pode chamar os métodos QuerySet no gerenciador do seu modelo. A classe Manager lida com operações de banco de dados e permite que você interaja com os dados do MongoDB fazendo referência a modelos do Django. Por padrão, o Django adiciona um Manager denominado objects a cada classe de modelo.

Dica

To learn more about Django's QuerySet API, see QuerySet in the Django documentation.

Este guia mostra como usar os seguintes métodos do QuerySet:

The examples in this guide use the Movie model, which represents the sample_mflix.movies collection from the Atlas sample datasets. The Movie model class has the following definition:

from django.db import models
from django_mongodb_backend.fields import ArrayField
class Movie(models.Model):
title = models.CharField(max_length=200)
plot = models.TextField(blank=True)
runtime = models.IntegerField(default=0)
released = models.DateTimeField("release date", null=True, blank=True)
genres = ArrayField(models.CharField(max_length=100), null=True, blank=True)
class Meta:
db_table = "movies"
managed = False
def __str__(self):
return self.title

O modelo Movie inclui uma classe Meta interna, que especifica os metadados do modelo, e um método __str__(), que define a representação de string do modelo. Para saber mais sobre esses recursos de modelo, consulte Definir um modelo no guia Criar modelos.

Você pode usar o shell interativo do Python para executar os exemplos de código. Para entrar na shell, execute o seguinte comando no diretório raiz do seu projeto:

python manage.py shell

Depois de inserir o shell do Python, certifique-se de importar os seguintes modelos e módulos:

from <your application name>.models import Movie
from django.utils import timezone
from datetime import datetime

Para saber como criar um aplicação Django que usa o Movie modelo e o shell interativo do Python para interagir com documentos do MongoDB , acesse o tutorial Introdução ao Django MongoDB Backend.

Para inserir um documento em uma coleção, chame o método create() no gerenciador do seu modelo. Passe os nomes de campo e os valores de campo do novo documento como argumentos para o método create().

O exemplo a seguir chama o método create() para inserir um documento na coleção sample_mflix.movies. O novo documento tem um valor title de "Poor Things" e um valor runtime de 141:

Movie.objects.create(title="Poor Things", runtime=141)

O método create() permite criar um novo objeto Movie e salvar o objeto no MongoDB em uma chamada de método. Como alternativa, você pode criar um objeto Movie e chamar save(), conforme mostrado no código a seguir:

movie = Movie(title="Poor Things", runtime=141)
movie.save()

Dica

To learn more about the create() method, see create in the Django documentation.

Para recuperar documentos da sua coleção, chame o método filter() no gerenciador do seu modelo. Passe um filtro de query ou critérios que especifiquem quais documentos recuperar, como argumento para o método filter().

Alternativamente, você pode chamar o método get() para recuperar um único documento que corresponda à sua query.

O exemplo seguinte chama o método filter() para recuperar documentos da coleção sample_mflix.movies. A query retorna Movie objetos que representam filmes lançados em 1 de janeiro de 2000:

Movie.objects.filter(released=timezone.make_aware(datetime(2000, 1, 1)))

Dica

To learn more about the filter() method, see filter in the Django documentation.

Para recuperar somente um documento que corresponda aos seus critérios de query, chame o método get() e passe um filtro de query como argumento. O exemplo a seguir recupera um documento no qual o valor title é "Boyhood":

Movie.objects.get(title="Boyhood")

Importante

Se a sua query não corresponder a nenhum documento ou a vários documentos, o método get() gerará um erro. Para recuperar um documento de uma query que possa corresponder a vários, encadeie o método first() a filter(), conforme mostrado no código a seguir:

Movie.objects.filter(title="Boyhood").first()

Dica

To learn more about the get() method, see get in the Django documentation.

Para modificar documentos em uma coleção, chame os métodos filter() e update() no gerenciador do seu modelo. Passe um filtro de query ou critérios que especifiquem quais documentos atualizar, como argumento para o método filter(). Em seguida, passe os campos e valores que deseja atualizar como argumentos para o método update().

O exemplo seguinte chama o método update() para modificar documentos na coleção sample_mflix.movies. O código corresponde a um documento que tem um valor title de "High Fidelity" e adiciona um campo plot :

Movie.objects.filter(
title="High Fidelity").update(
plot="Rob, a record store owner, recounts his top five breakups,including the one in progress.")

Dica

To learn more about the update() method, see update in the Django documentation.

Para excluir documentos em uma coleção, chame os métodos filter() e delete() no gerenciador do seu modelo, Passe um filtro de query ou critérios que especificam quais documentos excluir, como argumento para o método filter().

O exemplo seguinte chama o método delete() para excluir documentos na coleção sample_mflix.movies. O código corresponde e exclui documentos que têm um valor runtime de 5:

Movie.objects.filter(runtime=5).delete()

Dica

To learn more about the delete() method, see delete in the Django documentation.

Para saber mais sobre como realizar operações de leitura, consulte o guia Especificar uma query.

Para visualizar mais exemplos de criação, leitura, atualização e exclusão, consulte as seguintes etapas do tutorial Introdução ao backend do MongoDB Django: