If you've ever struggled with complex filters in Firebase, youโll love Filter.and() and Filter.or(). These let you easily combine multiple conditions without chaining .where() calls endlessly.
๐ฅ AND queries:
Need all conditions to be true? Just wrap them in Filter.and().
query.where(Filter.and(
Filter("status", isEqualTo: "active"),
Filter("role", isEqualTo: "admin"),
));
โก OR queries:
Need at least one condition to match? Use Filter.or().
query.where(Filter.or(
Filter("age", isGreaterThan: 18),
Filter("verified", isEqualTo: true),
));
๐ก Combining AND & OR:
You can nest Filter.and() and Filter.or() for advanced queries without writing inefficient workarounds.
query.where(Filter.and(
Filter("country", isEqualTo: "USA"),
Filter.or(
Filter("premiumUser", isEqualTo: true),
Filter("subscription", isGreaterThanOrEqualTo: 1),
),
));
โจ Why use this?
โ
Cleaner, more readable queries
โ
No more chaining .where() for complex filters
โ
Firestore handles everything under the hood efficiently
This makes querying Firestore data in Flutter much more flexible! ๐
If you're still using old .where() chains, it's time to upgrade.
Who's already using Filter.and() & Filter.or()?
Let me know your experience! ๐ฅ
Top comments (0)