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()
.
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 .
O _id
campo <a class=\" \" href=\" \" title=\" \"><svg xmlns=\" \" width=\" \" height=\" \" fill=\" \" viewbox=\" \" class=\" \" role=\" \" aria-label=\" \"><path fill=\" \" d=\" \"> <path fill=\" \" d=\" \">
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 umaObjectId
.
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 .
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 |
---|---|
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 . |
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: