As you develop your app with Cloud Firestore, you might want to go beyond the basics discussed in the manage and query data sections. The solutions outlined in this section offer guidance on more advanced use cases.
Firestore Lite, the streamlined REST-only Firestore Web SDK
Summary: Build smaller Web apps with faster load times when offline cache isn't important and you only need online access to your database.
Use case: If your app doesn't need to manage offline users, import
@firebase\firestore-lite. Then, code features that make use of the Firestore
Summary: Build an aggregate of your data in Cloud Firestore using transactions and Cloud Functions.
Use case: To query your data across collections, build an aggregate, then run the query. For example, in a recommendations app, you might want to retrieve all the information for a particular restaurant from different collections.
Summary: Distribute updates across "counter" subcollections to update a document more frequently than Cloud Firestore currently supports.
Use case: Use this solution to add "counters" to your app (for example, to represent upvotes), and update the corresponding document at a high frequency. Cloud Firestore supports 2 writes/second on each document.
Summary: Search for text contained in your Cloud Firestore documents.
Use case: Users might want to search your app content, including text contained in individual fields across your documents and collections. Use this solution to enable full-text search.
Summary: Add a presence system that identifies whether or not a user is actively connected.
Use case: Use this solution to identify users that are actively connected to your app. For example, in a chat app, you might use a presence system to populate a list of users that are online.
Secure data access for users and groups
Summary: Write security rules to control access to individual documents based on user roles.
Use case: Use this solution to build collaborative apps while minimizing the risk of improper data access.
Schedule data exports
Summary: Use the App Engine Cron Service to schedule exports of your data.
Use case: Use this solution to run export operations on a schedule.