Insira documentos
Nesta página
Visão geral
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.
Dados de amostra
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 .
Inserir um documento
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"})
Insira vários documentos
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)
Modificar comportamento de inserção
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 |
---|---|
| If set to True , allows the write to opt out of
document-level validation.Defaults to False . |
| An instance of ClientSession . |
| 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 |
---|---|
| 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 . |
Exemplo
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)
Informações adicionais
Para obter exemplos de código executáveis de inserção de documentos com o PyMongo, consulte Gravar dados no MongoDB.
Documentação da API
Para saber mais sobre qualquer um dos métodos ou tipos discutidos neste guia, consulte a seguinte documentação da API: