Menu Docs

Página inicial do DocsDesenvolver aplicaçõesDrivers PythonPyMongo

Insira documentos

Nesta página

  • Visão geral
  • Dados de amostra
  • O campo _id
  • Inserir um documento
  • Insira vários documentos
  • Modificar comportamento de inserção
  • Exemplo
  • Informações adicionais
  • Documentação da API

Neste guia, você pode aprender como usar o PyMongo para adicionar documentos a uma coleção MongoDB realizando operações de inserção.

Uma operação de inserção insere um ou mais documentos em uma coleção MongoDB. Você pode executar uma operação de inserção utilizando o método insert_one() ou insert_many() .

Os exemplos neste guia usam a collection sample_restaurants.restaurants dos conjuntos de dados de amostra do Atlas. Para saber como criar um MongoDB Atlas cluster e carregar os conjuntos de dados de amostra, consulte o tutorial Introdução ao PyMongo .

Em uma coleção MongoDB, cada documento deve conter um campo _id com um valor de campo único.

O MongoDB permite gerenciar este campo de duas maneiras:

  • Você mesmo pode definir este campo para cada documento, garantindo que cada valor do campo _id seja único.

  • Você pode permitir que o acionador gere automaticamente valores de ObjectId únicos para cada documento _id. Se você não definir manualmente um valor _id para um documento, o driver preencherá o campo com uma ObjectId.

A menos que você possa garantir exclusividade, recomendamos deixar o driver gerar automaticamente os valores de _id .

Observação

_id Os valores _id duplicados violam as restrições de índice exclusivo, o que faz com que o driver retorne um WriteError de insert_one() ou um BulkWriteError de insert_many().

Para saber mais sobre o campo _id, consulte o guia Índices únicos no manual do MongoDB Server .

Para saber mais sobre a estrutura e as regras de documentos, consulte o guia Documentos no manual do MongoDB Server .

Para adicionar um único documento a uma coleção MongoDB, chame o método insert_one() e passe o documento que você deseja adicionar.

O exemplo a seguir insere um documento na coleção restaurants :

sample_restaurants.restaurants.insert_one({"name" : "Mongo's Burgers"})

Para adicionar vários documentos a uma coleção MongoDB, chame o método insert_many() e passe uma lista de documentos que você deseja adicionar.

O exemplo a seguir insere uma lista de documentos na coleção restaurants :

document_list = [
{ "name" : "Mongo's Burgers" },
{ "name" : "Mongo's Pizza" }
]
sample_restaurants.restaurants.insert_many(document_list)

O método insert_one() aceita opcionalmente parâmetros adicionais que representam opções que você pode usar para configurar a operação de inserção. Se você não especificar parâmetros adicionais, o driver não personalizará a inserção.

Propriedade
Descrição
bypass_document_validation
If set to True, allows the write to opt out of document-level validation.
Defaults to False.
session
An instance of ClientSession.
comment
A comment to attach to the operation. For more information, see the insert command fields guide in the MongoDB Server manual for more information.

O método InsertMany() aceita os parâmetros opcionais anteriores, bem como a propriedade opcional ordered :

Propriedade
Descrição
ordered
If set to True, the driver sends documents to the server in the order provided. If an error occurs, the driver and server cancel all remaining insert operations.
Defaults to True.

O código a seguir usa o método insert_many() para inserir três novos documentos em uma coleção. Como o segundo argumento do método é bypass_document_validation = True, essa operação de inserção ignora a validação em nível de documento.

document_list = [
{ "name" : "Mongo's Burgers" },
{ "name" : "Mongo's Pizza" },
{ "name" : "Mongo's Tacos" }
]
sample_restaurants.restaurants.insert_many(document_list, bypass_document_validation = True)

Para obter exemplos de código executáveis de inserção de documentos com o PyMongo, consulte Gravar dados no MongoDB.

Para saber mais sobre qualquer um dos métodos ou tipos discutidos neste guia, consulte a seguinte documentação da API:

← Gravar dados no MongoDB