Łączenie operacji MongoDB

Wprowadzenie do MongoDB w Pythonie

Filip Schouwenaars

Machine Learning Researcher

Tworzenie operacji zbiorczej

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
Wprowadzenie do MongoDB w Pythonie

Interpretacja wyników

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

Uwaga

  • Wykonywane po kolei: wcześniejsze operacje nie są cofane
  • Potrzebna większa niezawodność? Warto zapoznać się z transakcjami
Wprowadzenie do MongoDB w Pythonie

Dlaczego warto używać bulk_write?

  • Wydajność
    • Wszystkie operacje w jednym żądaniu
    • Oszczędność czasu, mniejszy narzut sieciowy
  • Śledzenie
    • Jeden obiekt wynikowy
    • Zbiorczy przegląd wyników wszystkich operacji
    • Łatwiejsze audytowanie i debugowanie
  • Porządek
    • Unika rozproszenia operacji
    • Logika zgrupowana i czytelna
Wprowadzenie do MongoDB w Pythonie

Co można łączyć?

  • Można używać dowolnego zestawu:

    • InsertOne()
    • UpdateOne() / UpdateMany() / ReplaceOne()
    • DeleteOne() / DeleteMany()
    • ReplaceOne()
  • Przydatne do:

    • Synchronizacji danych
    • Czyszczenia zbiorów danych
    • Importu masowego
Wprowadzenie do MongoDB w Pythonie

Czas na ćwiczenia!

Wprowadzenie do MongoDB w Pythonie

Preparing Video For Download...