Combinare le operazioni MongoDB

Introduzione a MongoDB in Python

Filip Schouwenaars

Machine Learning Researcher

Creare un'operazione bulk

from pymongo import InsertOne, UpdateOne    # import classes

operations = [ InsertOne({ # operation 1 "title": "Dune", "genre": ["action", "adventure", "drama"], "release_year": 2021, "rating": 8.0, "won_oscar": False }), UpdateOne( # operation 2 { "title": "Titanic" }, { "$set": { "won_oscar": True } } ) ]
result = mov.bulk_write(operations) # pass list to bulk_write
Introduzione a MongoDB in Python

Capire il risultato

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

Ricorda

  • Eseguite in ordine: le operazioni precedenti non vengono annullate
  • Vuoi più sicurezza? Guarda le transazioni
Introduzione a MongoDB in Python

Perché usare bulk_write?

  • Efficiente
    • Invia tutte le operazioni in un'unica richiesta
    • Risparmia tempo, meno overhead di rete
  • Monitorabile
    • Un unico oggetto risultato
    • Riepilogo unico per tutte le operazioni
    • Più facile da verificare e fare debug
  • Pulito
    • Evita di spargere le operazioni
    • Mantiene la logica raccolta e leggibile
Introduzione a MongoDB in Python

Cosa puoi combinare?

  • Puoi combinare:

    • InsertOne()
    • UpdateOne() / UpdateMany() / ReplaceOne()
    • DeleteOne() / DeleteMany()
    • ReplaceOne()
  • Ideale per:

    • Sincronizzare dati
    • Pulire insiemi di dati
    • Importazioni massive
Introduzione a MongoDB in Python

Esercitiamoci!

Introduzione a MongoDB in Python

Preparing Video For Download...