Menu Docs

Operações CRUD

Esta página contém exemplos de código que mostram como conectar seu aplicativo Python ao MongoDB com várias configurações.

Dica

Para saber mais sobre as opções de conexão nesta página, consulte o link fornecido em cada seção.

Para usar um exemplo de conexão desta página, copie o exemplo de código noaplicativo de amostra ou em seu próprio aplicativo. Certifique-se de substituir todos os espaços reservados nos exemplos de código, como <hostname>, pelos valores relevantes para sua implantação do MongoDB.

Você pode usar o seguinte aplicativo de exemplo para testar os exemplos de código nesta página. Para usar o aplicativo de amostra, execute as seguintes etapas:

  1. Verifique se o PyMongo está instalado.

  2. Copie o seguinte código e cole-o em um novo arquivo .py .

  3. Copie um exemplo de código desta página e cole-o nas linhas especificadas no arquivo.

1import pymongo
2from pymongo import MongoClient
3
4try:
5 uri = "<connection string URI>"
6 client = MongoClient(uri)
7
8 database = client["<database name>"]
9 collection = database["<collection name>"]
10
11 # start example code here
12
13 # end example code here
14
15 client.close()
16
17except Exception as e:
18 raise Exception(
19 "The following error occurred: ", e)
result = collection.insert_one({ "<field name>" : "<value>" })
print(result.acknowledged)

Para saber mais sobre o método insert_one() , consulte o guia Inserir documentos .

document_list = [
{ "<field name>" : "<value>" },
{ "<field name>" : "<value>" }
]
result = collection.insert_many(document_list)
print(result.acknowledged)

Para saber mais sobre o método insert_many() , consulte o guia Inserir documentos .

query_filter = { "<field to match>" : "<value to match>" }
update_operation = { "$set" :
{ "<field name>" : "<value>" }
}
result = collection.update_one(query_filter, update_operation)
print(result.modified_count)

Para saber mais sobre o método update_one() , consulte o guia Atualizar documentos .

query_filter = { "<field to match>" : "<value to match>" }
update_operation = { "$set" :
{ "<field name>" : "<value>" }
}
result = collection.update_many(query_filter, update_operation)
print(result.modified_count)

Para saber mais sobre o método update_many() , consulte o guia Atualizar documentos .

query_filter = { "<field to match>" : "<value to match>" }
replace_document = { "<new document field name>" : "<new document value>" }
result = collection.replace_one(query_filter, replace_document)
print(result.modified_count)

Para saber mais sobre o método replace_one() , consulte o guia Substituir documentos .

query_filter = { "<field to match>" : "<value to match>" }
result = collection.delete_one(query_filter)
print(result.deleted_count)

Para saber mais sobre o método delete_one() , consulte o guia Excluir documentos .

query_filter = { "<field to match>" : "<value to match>" }
result = collection.delete_many(query_filter)
print(result.deleted_count)

Para saber mais sobre o método delete_many() , consulte o guia Excluir documentos .

operations = [
pymongo.InsertOne(
{
"<field name>" : "<value>"
}
),
pymongo.UpdateMany(
{ "<field to match>" : "<value to match>" },
{ "$set" : { "<field name>" : "<value>" }},
),
pymongo.DeleteOne(
{ "<field to match>" : "<value to match>" }
),
]
result = collection.bulk_write(operations)
print(result)

Para saber mais sobre o método bulk_write() , consulte o guia de escrita em massa .

results = collection.find_one({ "<field name>" : "<value>" })
print(results)

Para saber mais sobre o método find_one() , consulte Encontrar um documento no guia Recuperar dados.

results = collection.find({ "<field name>" : "<value>" })
for document in results:
print(document)

Para saber mais sobre o método find() , consulte Encontrar vários documentos no guia Recuperar dados.

count = collection.count_documents({})
print(count)

Para saber mais sobre o método count_documents() , consulte o guia Recuperar uma contagem precisa .

count = collection.count_documents({ "<field name>": "<value>" })
print(count)

Para saber mais sobre o método count_documents() , consulte o guia Recuperar uma contagem precisa .

count = collection.estimated_document_count()
print(count)

Para saber mais sobre o método estimated_document_count() , consulte o guia Recuperar uma contagem estimada .

results = collection.distinct("<field name>")
for document in results:
print(document)

Para saber mais sobre o método distinct() , consulte o guia Retrieve Distinct Field Values (Recuperar valores de campos distintos).