TIL: Firestore tính tổng
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