Skip to content

Google Firestoreの制限

Firestoreは高いパフォーマンスを得るため、色々な制限や制約がある。

不等号を含むクエリは、並び順の最初に不等号を使うフィールドにしなければならない。

そうしなければ以下のようなエラーが発生する。

guard an error: inequality filter property and first sort order must be the same firestore: (fieldName)

StartAt/StartAfter, EndAt/EndBeforeを含むクエリ

Section titled “StartAt/StartAfter, EndAt/EndBeforeを含むクエリ”

タイトルの関数を含むクエリは、それらの数を OrderBy の個数と揃えておく必要がある。

そうしなければ以下のようなエラーが発生する。

firestore: number of field values in StartAt/StartAfter/EndAt/EndBefore does not match number of OrderBy fields

Whereと異なるOrderByを使う場合は複合インデックスが必要

Section titled “Whereと異なるOrderByを使う場合は複合インデックスが必要”

複合インデックスが必要な場合もある

そうしなければ以下のようなエラーが発生する。

The query requires an index.