Kết hợp các thao tác MongoDB

Nhập môn MongoDB với Python

Filip Schouwenaars

Machine Learning Researcher

Xây dựng một thao tác hàng loạt

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
Nhập môn MongoDB với Python

Hiểu kết quả

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

Lưu ý

  • Thực thi theo thứ tự: thao tác trước không hoàn tác
  • Cần an toàn chặt chẽ hơn? Hãy dùng giao dịch (transactions)
Nhập môn MongoDB với Python

Vì sao dùng bulk_write?

  • Hiệu quả
    • Gửi tất cả thao tác trong một yêu cầu
    • Tiết kiệm thời gian, giảm chi phí mạng
  • Dễ theo dõi
    • Một đối tượng kết quả
    • Tóm tắt hợp nhất cho mọi thao tác
    • Dễ kiểm tra và gỡ lỗi
  • Gọn gàng
    • Tránh rải rác thao tác
    • Giữ logic nhóm và dễ đọc hơn
Nhập môn MongoDB với Python

Có thể kết hợp gì?

  • Có thể phối hợp:

    • InsertOne()
    • UpdateOne() / UpdateMany() / ReplaceOne()
    • DeleteOne() / DeleteMany()
    • ReplaceOne()
  • Phù hợp cho:

    • Đồng bộ dữ liệu
    • Làm sạch dữ liệu
    • Nhập liệu hàng loạt
Nhập môn MongoDB với Python

Hãy thực hành!

Nhập môn MongoDB với Python

Preparing Video For Download...