Skip to main content
Version: 2.8.y

Query Rules

This section discusses about how query rules typing works.

type against query limitations, query limitation part 2 and order limitations.

Rules Typing

FirelordJS protects you against Firestore runtime exceptions in your queries on type level, example:

  • In a compound query, range (<, <=, >, >=) and not equals (!=, not-in) comparisons must all filter on the same field
FirelordJS displays which query rule you violated in the hint.

  • If you include a filter with a range comparison (<, <=, >, >=), your first ordering must be on the same field
FirelordJS display what field path you should use in the hint.

  • You can use at most one in, not-in, or array-contains-any clause per query. You can't combine in , not-in, and array-contains-any in the same query
FirelordJS displays which query rule you violated in the hint.

  • You can't combine not-in with not equals !=
FirelordJS displays which query rule you violated in the hint.

  • You can use at most one array-contains clause per query. You can't combine array-contains with array-contains-any
FirelordJS displays which query rule you violated in the hint.

  • Too many arguments provided to startAt/startAfter/endAt/endBefore(). The number of arguments must be less than or equal to the number of orderBy() clauses
FirelordJS displays which query rule you violated in the hint.

  • You cannot use more than one '!=' filter (undocumented limitation)
FirelordJS displays which query rule you violated in the hint.

and more.