Firebase Firestore is a NoSQL document database provided by Google Cloud Platform. It's a real-time database that offers excellent scalability and ease of use, making it a popular choice for web and mobile applications. In this blog series, we'll explore how to perform CRUD (Create, Read, Update, Delete) operations on a Firestore database.
Before we begin, make sure you have the following set up:
If you haven't already, create a new Firebase project in the Firebase console.
Navigate to your project's settings and enable Firestore. You'll need to choose a location for your database.
Install the Firebase SDK for your chosen platform using your package manager. For example, in Node.js, you would use:
npm install firebase
    Creating a new document in Firestore is simple. Let's say we have a collection called "users". To create a new user document, we would use the following code:
        import firebase from 'firebase/app';
        import 'firebase/firestore';
        const db = firebase.firestore();
        const user = {
          name: 'John Doe',
          email: 'john.doe@example.com'
        };
        db.collection('users').add(user)
          .then(docRef => {
            console.log('Document written with ID:', docRef.id);
          })
          .catch(error => {
            console.error('Error adding document:', error);
          });
      
    This code will create a new document in the "users" collection with the provided data and will generate a unique ID for the document.
To read data from a document, we can use the get() method.
        const docRef = db.collection('users').doc('user-id');
        docRef.get()
          .then(doc => {
            if (doc.exists) {
              console.log('Document data:', doc.data());
            } else {
              console.log('No such document!');
            }
          })
          .catch(error => {
            console.error('Error getting document:', error);
          });
      
    Replace 'user-id' with the actual ID of the document you want to read. This code will fetch the document and display its data.
Updating a document is similar to creating. We use the update() method.
        const docRef = db.collection('users').doc('user-id');
        docRef.update({
          email: 'john.doe.updated@example.com'
        })
          .then(() => {
            console.log('Document updated successfully!');
          })
          .catch(error => {
            console.error('Error updating document:', error);
          });
      
    This code will update the "email" field of the document with the specified value.
Deleting a document is straightforward. We use the delete() method.
        const docRef = db.collection('users').doc('user-id');
        docRef.delete()
          .then(() => {
            console.log('Document deleted successfully!');
          })
          .catch(error => {
            console.error('Error deleting document:', error);
          });
      
    This code will delete the specified document.