- Why do Firestore queries require composite indexes?
- Firestore uses server-side indexes to execute queries efficiently. A single-field index handles simple queries. When you combine a where() on one field with an orderBy() on a different field, Firestore needs a composite index to combine both efficiently. The Firebase Console generates the index creation link automatically.
- What are the query limitations in Firestore?
- No JOINs across collections. No OR queries across different fields (use multiple queries and merge). No full-text search (use Algolia, Elasticsearch, or Typesense). Range queries (>, <, >=, <=) only on one field per query. These limitations drive denormalized data modeling.
- What is the difference between Firestore and Firebase Realtime Database?
- Firestore uses documents/collections with richer queries. Realtime Database stores data as a single JSON tree with simpler queries but lower cost for high-frequency small writes. For new projects, Firestore is recommended. Realtime Database has lower latency for simple key-value access.