Cloud Firestore is a cloud-hosted, flexible, scalable NoSQL database used for mobile, web and server development from Firebase and Google Cloud Platform and can be accessed directly via native SDK’s. This Cloud Firestore is also used for native Node.js, Java, Python, and Go SDKs, in addition to REST and RPC APIs.
In Cloud firestore, data can be stored in documents and these contain fields are mapping to values and the data stored on documents directly stored in collections that are main containers for documents which are used to build queries and organize data. Under documents, subcollections can be created as it maintains the format of the hierarchical data structure that scales as the database grows.
In Realtime Database of Firebase, through realtime listeners data can be synchronized across client applications as well as Cloud firestore also does this function and it offers offline support for web and mobile so can build responsive apps that work regardless of network latency or Internet connectivity.
Different types of key capabilities are available in Cloud Firestore: Expressive querying, Flexibility,
Offline support, Realtime updates, Designed to scale.
Additionally, querying in Cloud Firestore is expressive, efficient, and flexible. Create shallow queries to retrieve data at the document level without needing to retrieve the entire collection or any nested subcollections. Add sorting, filtering, and limits to your queries or cursors to paginate your results. To keep data in your apps current, without retrieving your entire database each time an update happens, add realtime listeners. Adding realtime listeners to your app notifies you with a data snapshot whenever the data your client apps are listening to changes, retrieving only the new changes.
Four types of implementation paths:
Integrate the Cloud Firestore SDKs, Secure your data, Add Data, Get Data