Menu Docs

Insira documentos

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() .

Observação

O campo _id deve ser único

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

Se você especificar um valor para o campo _id, você deverá garantir que o valor seja único na coleção. Se você não especificar um valor, o driver gerará automaticamente um valor ObjectId exclusivo para o campo.

Recomendamos deixar o driver gerar automaticamente valores de _id para garantir exclusividade. Os valores duplicados de _id violam restrições de índice único , o que faz com que o driver retorne um erro.

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

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 insert_many() 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: