/firebase-tutorials

How to add a new document in Firestore?

Learn how to add a new document in Firestore with our step-by-step guide. Set up Firebase, install the SDK, initialize your app, and insert documents using JavaScript.

Matt Graham, CEO of Rapid Developers

Book a call with an Expert

Starting a new venture? Need to upgrade your web app? RapidDev builds application with your growth in mind.

Book a free No-Code consultation

How to add a new document in Firestore?

 

Step 1: Set Up Firebase Project

 

To begin, ensure you have a Firebase project. If you haven't set one up yet, follow these instructions:

  • Go to the Firebase Console.
  • Click on "Add project" and follow the on-screen instructions.
  • Once your project is created, add a web app or another platform as required. Follow the prompts to register your app. You will receive a Firebase configuration object. Keep this handy as you'll need it in the next steps.

 

Step 2: Install Firebase SDK

 

Integrate Firebase into your application by installing the Firebase SDK. This example uses a web application with JavaScript.

  • Open your project directory in the terminal/command prompt.
  • Run the following command to install Firebase:

npm install firebase

 

Step 3: Initialize Firebase in Your Application

 

Before you can add documents to Firestore, you'll need to initialize Firebase using the configuration object you obtained earlier.

  • Create a JavaScript file (e.g., firebaseApp.js).
  • Include the following code snippet, substituting your configuration details.

import { initializeApp } from "firebase/app";
import { getFirestore } from "firebase/firestore";

const firebaseConfig = {
  apiKey: "YOUR_API_KEY",
  authDomain: "YOUR_AUTH_DOMAIN",
  projectId: "YOUR_PROJECT_ID",
  storageBucket: "YOUR_STORAGE_BUCKET",
  messagingSenderId: "YOUR_MESSAGING_SENDER\_ID",
  appId: "YOUR_APP_ID"
};

const app = initializeApp(firebaseConfig);
const db = getFirestore(app);

export { db };

 

Step 4: Add a New Document to Firestore

 

Now, ensure your Firestore database is ready to store documents and collections:

  • Go to Firebase Console and select your project.
  • In the left menu, click on "Firestore Database".
  • Click on "Create Database", then choose "Start in Test Mode" to easily test without immediate security rules in place (ensure you update these for production).

Next, add a document:

  • Create a new JavaScript file (e.g., addDocument.js) in your project.
  • Use the following code to add a new document to a collection called 'yourCollectionName'. Modify 'yourCollectionName' and data according to your needs:

import { db } from './firebaseApp';
import { collection, addDoc } from "firebase/firestore"; 

async function addNewDocument() {
  try {
    const docRef = await addDoc(collection(db, "yourCollectionName"), {
      name: "Tokyo",
      country: "Japan"
    });
    console.log("Document written with ID: ", docRef.id);
  } catch (e) {
    console.error("Error adding document: ", e);
  }
}

addNewDocument();

 

Step 5: Test Your Implementation

 

To ensure your setup works as expected:

  • Run your web application with your preferred method (e.g., using a local server).
  • Open the web page that executes the addNewDocument function.
  • Check the Firestore Database in your Firebase Console to confirm the new document appears in your specified collection.

By following these steps, you have successfully added a new document to Firestore using Firebase! Make sure to secure your Firestore rules as your app progresses to production status.

Want to explore opportunities to work with us?

Connect with our team to unlock the full potential of no-code solutions with a no-commitment consultation!

Book a Free Consultation

Client trust and success are our top priorities

When it comes to serving you, we sweat the little things. That’s why our work makes a big impact.

Rapid Dev was an exceptional project management organization and the best development collaborators I've had the pleasure of working with. They do complex work on extremely fast timelines and effectively manage the testing and pre-launch process to deliver the best possible product. I'm extremely impressed with their execution ability.

CPO, Praction - Arkady Sokolov

May 2, 2023

Working with Matt was comparable to having another co-founder on the team, but without the commitment or cost. He has a strategic mindset and willing to change the scope of the project in real time based on the needs of the client. A true strategic thought partner!

Co-Founder, Arc - Donald Muir

Dec 27, 2022

Rapid Dev are 10/10, excellent communicators - the best I've ever encountered in the tech dev space. They always go the extra mile, they genuinely care, they respond quickly, they're flexible, adaptable and their enthusiasm is amazing.

Co-CEO, Grantify - Mat Westergreen-Thorne

Oct 15, 2022

Rapid Dev is an excellent developer for no-code and low-code solutions.
We’ve had great success since launching the platform in November 2023. In a few months, we’ve gained over 1,000 new active users. We’ve also secured several dozen bookings on the platform and seen about 70% new user month-over-month growth since the launch.

Co-Founder, Church Real Estate Marketplace - Emmanuel Brown

May 1, 2024 

Matt’s dedication to executing our vision and his commitment to the project deadline were impressive. 
This was such a specific project, and Matt really delivered. We worked with a really fast turnaround, and he always delivered. The site was a perfect prop for us!

Production Manager, Media Production Company - Samantha Fekete

Sep 23, 2022