Swiftorial Logo
Home
Swift Lessons
Matchups
CodeSnaps
Tutorials
Career
Resources

Google Cloud Firestore Tutorial

1. Introduction to Google Cloud Firestore

Google Cloud Firestore is a NoSQL document database built for automatic scaling, high performance, and ease of application development. It allows you to store and sync data for client- and server-side development, providing a flexible, scalable database for mobile, web, and server development.

Firestore is part of the Firebase platform, offering a rich set of features, including real-time updates, offline support, and powerful querying capabilities.

2. Setting Up Google Cloud Firestore

To get started with Google Cloud Firestore, follow these steps:

  1. Create a Google Cloud project by navigating to the Google Cloud Console.
  2. Enable the Firestore API for your project.
  3. In the Firebase console, select your project, and then click on 'Firestore Database' in the left menu.
  4. Click on 'Create Database' and choose the appropriate mode—either 'Test Mode' for development or 'Production Mode' for production systems.

Once you have set up Firestore, you can start creating collections and documents.

3. Understanding Collections and Documents

Firestore is structured as collections and documents. A collection is a set of documents, and a document is a set of key-value pairs.

Example Structure:
                Collection: Users
                    |
                    └── Document: UserID_1
                        |
                        └── Field: Name: "John Doe"
                        └── Field: Age: 30
                    └── Document: UserID_2
                        |
                        └── Field: Name: "Jane Doe"
                        └── Field: Age: 25
                

4. Adding Data to Firestore

You can add data to Firestore using the Firebase SDK. Below is an example using JavaScript:

JavaScript Example:
                const db = firebase.firestore();

                // Adding a new document with a generated ID
                db.collection("Users").add({
                    Name: "Alice Smith",
                    Age: 28
                })
                .then((docRef) => {
                    console.log("Document written with ID: ", docRef.id);
                })
                .catch((error) => {
                    console.error("Error adding document: ", error);
                });
                

5. Reading Data from Firestore

You can read data from Firestore using the following method:

JavaScript Example:
                db.collection("Users").get().then((querySnapshot) => {
                    querySnapshot.forEach((doc) => {
                        console.log(`${doc.id} => ${JSON.stringify(doc.data())}`);
                    });
                });
                

6. Updating Data in Firestore

To update existing documents, use the following syntax:

JavaScript Example:
                const userRef = db.collection("Users").doc("UserID_1");

                // Update the Age field
                userRef.update({
                    Age: 31
                })
                .then(() => {
                    console.log("Document successfully updated!");
                })
                .catch((error) => {
                    console.error("Error updating document: ", error);
                });
                

7. Deleting Data from Firestore

To delete a document, you can use the following code:

JavaScript Example:
                const userRef = db.collection("Users").doc("UserID_1");

                // Delete the document
                userRef.delete().then(() => {
                    console.log("Document successfully deleted!");
                }).catch((error) => {
                    console.error("Error removing document: ", error);
                });
                

8. Conclusion

Google Cloud Firestore is a powerful NoSQL database that allows developers to build scalable applications with real-time data synchronization and offline capabilities. By understanding the basic operations—adding, reading, updating, and deleting data—you can effectively utilize Firestore in your applications.

For more advanced features and best practices, refer to the official Firestore documentation.