TIL: Query array Firestore

Newsletter May 27, 2022

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.

Tags