Combinando operações do MongoDB

Introdução ao MongoDB em Python

Filip Schouwenaars

Machine Learning Researcher

Criando uma operação em lote

from pymongo import InsertOne, UpdateOne    # importar classes

operations = [ InsertOne({ # operação 1 "title": "Dune", "genre": ["action", "adventure", "drama"], "release_year": 2021, "rating": 8.0, "won_oscar": False }), UpdateOne( # operação 2 { "title": "Titanic" }, { "$set": { "won_oscar": True } } ) ]
result = mov.bulk_write(operations) # passar a lista para bulk_write
Introdução ao MongoDB em Python

Entendendo o resultado

print(result.inserted_count)
1
print(result.modified_count)
1

Lembre-se

  • Executado em ordem: operações anteriores não têm rollback
  • Quer mais segurança? Veja transações
Introdução ao MongoDB em Python

Por que usar bulk_write?

  • Eficiente
    • Envie tudo em uma única requisição
    • Economiza tempo e reduz tráfego de rede
  • Rastreável
    • Um único objeto de resultado
    • Resumo unificado de todas as operações
    • Mais fácil de auditar e depurar
  • Limpo
    • Evita espalhar operações
    • Mantém a lógica agrupada e legível
Introdução ao MongoDB em Python

O que dá para combinar?

  • Use qualquer combinação de:

    • InsertOne()
    • UpdateOne() / UpdateMany() / ReplaceOne()
    • DeleteOne() / DeleteMany()
    • ReplaceOne()
  • Ótimo para:

    • Sincronizar dados
    • Limpar conjuntos de dados
    • Importações em lote
Introdução ao MongoDB em Python

Vamos praticar!

Introdução ao MongoDB em Python

Preparing Video For Download...