TIL: Query array Firestore
Bài toán
Cho list
id
, kiểm tra xem nếu:đã tồn tại => không làm gì cả
chưa tồn tại => tạo mới
Nếu loop từng
id
sau đó cho query where kiểm tra sẽ rất lâu và tốn kém.
Giải pháp
Sử dụng operator
in
trong query.Thử trường hợp query list các id đã có sẵn sau đó compare list id trả về từ Firestore
Trường hợp ids > 10 sẽ xảy ra lỗi
google.api_core.exceptions.InvalidArgument: 400 'IN' supports up to 10 comparison values.
Vậy chúng ta cần phải split ids ra thành các chunk có size là 10.