TIL: Firestore tính tổng

Newsletter Jun 3, 2022

Bài toán

  • Cho một collection trong đó có document dạng

    {

    "timestamp": 1654274466,

    "amount": 123

    }

    cần tình tổng amount tất của tất cả document trong collection đó.

Vấn đề

  • Nếu số lượng document nhỏ, ví dụ 1000 thì bài toán này sẽ được giải quyết rất dễ dàng bằng cách:
  • Nhưng nếu số lượng document lớn sẽ bị gRPC timeout.

Giải quyết

  • Chia nhỏ số lượng mỗi lần query
  • Nhớ vị trí đã query để pagination query tiếp.

Source code: https://gist.github.com/toanalien/abe560a9af40b38da0d9498fc59263c8

Tags