Bird
Raised Fist0
Firebasecloud~30 mins

Why Firestore is Firebase's primary database - See It in Action

Choose your learning style10 modes available
Why Firestore is Firebase's primary database
📖 Scenario: You are building a simple app that stores user profiles. You want to use Firebase's main database service to save and retrieve user data efficiently.
🎯 Goal: Learn how to set up Firestore as the primary database in Firebase and understand why it is preferred over other options.
📋 What You'll Learn
Create a Firestore database instance
Configure Firestore with proper settings
Add a user profile document to Firestore
Retrieve and display user profile data
💡 Why This Matters
🌍 Real World
Apps need a fast, scalable database to store user data and Firestore provides this with easy setup and real-time updates.
💼 Career
Understanding Firestore is essential for Firebase developers building modern web and mobile apps.
Progress0 / 4 steps
1
Create a Firestore database instance
Create a variable called db and set it to the Firestore database instance using firebase.firestore().
Firebase
Hint

Use firebase.firestore() to get the Firestore database instance.

2
Configure Firestore with proper settings
Create a variable called settings and set it to an object with timestampsInSnapshots set to true. Then apply these settings to db using db.settings(settings).
Firebase
Hint

Firestore requires enabling timestamps in snapshots for better date handling.

3
Add a user profile document to Firestore
Use db.collection('users').doc('user1').set() to add a document with name set to 'Alice' and age set to 30.
Firebase
Hint

Use collection and doc to specify where to store the user data.

4
Retrieve and display user profile data
Use db.collection('users').doc('user1').get() to retrieve the document, then access its data with doc.data().
Firebase
Hint

Use get() to fetch the document and data() to read its contents.

Practice

(1/5)
1. Why is Firestore considered Firebase's primary database?
easy
A. Because it only stores data temporarily
B. Because it requires manual scaling for large apps
C. Because it updates data in real time and works offline
D. Because it does not support security rules

Solution

  1. Step 1: Understand Firestore's real-time update feature

    Firestore automatically updates data in real time, so apps stay current without manual refresh.
  2. Step 2: Recognize offline support and automatic scaling

    Firestore works offline and scales automatically, making it easy to use and reliable.
  3. Final Answer:

    Because it updates data in real time and works offline -> Option C
  4. Quick Check:

    Real-time + offline = Firestore primary [OK]
Hint: Remember Firestore updates live and works offline [OK]
Common Mistakes:
  • Thinking Firestore needs manual scaling
  • Believing Firestore lacks security rules
  • Confusing Firestore with temporary storage
2. Which of the following is the correct way to define a Firestore collection reference in Firebase SDK?
easy
A. const ref = firestore.collection('users');
B. const ref = firestore.getCollection('users');
C. const ref = firestore.users.collection();
D. const ref = firestore.collection.users();

Solution

  1. Step 1: Recall Firestore collection syntax

    The correct method to get a collection reference is firestore.collection('collectionName').
  2. Step 2: Check each option's syntax

    Only const ref = firestore.collection('users'); uses the correct method name and syntax.
  3. Final Answer:

    const ref = firestore.collection('users'); -> Option A
  4. Quick Check:

    Use .collection('name') to get collection [OK]
Hint: Use .collection('name') to get Firestore collections [OK]
Common Mistakes:
  • Using getCollection instead of collection
  • Accessing collection as a property
  • Calling collection as a method on collection
3. Given this Firestore query code, what will be the output if the 'users' collection has documents with fields {name: 'Alice', age: 30} and {name: 'Bob', age: 25}?
const snapshot = await firestore.collection('users').where('age', '>', 26).get();
const names = snapshot.docs.map(doc => doc.data().name);
console.log(names);
medium
A. ['Alice']
B. ['Bob']
C. ['Alice', 'Bob']
D. []

Solution

  1. Step 1: Analyze the query condition

    The query filters users where age is greater than 26.
  2. Step 2: Check which users match the condition

    Alice is 30 (matches), Bob is 25 (does not match).
  3. Final Answer:

    ['Alice'] -> Option A
  4. Quick Check:

    Age > 26 returns Alice only [OK]
Hint: Filter by age > 26 returns only Alice [OK]
Common Mistakes:
  • Including Bob who is 25
  • Returning empty array by mistake
  • Returning both users ignoring filter
4. Which of the following correctly describes this Firestore security rule snippet?
service cloud.firestore {
  match /databases/{database}/documents {
    match /users/{userId} {
      allow read, write: if request.auth.uid == userId;
    }
  }
}
medium
A. It does not allow any access to users
B. It allows read and write only if user is authenticated and matches userId
C. It allows access without authentication
D. It has syntax errors in the match statements

Solution

  1. Step 1: Understand the rule condition

    The rule allows read and write only if the authenticated user's ID matches the document's userId.
  2. Step 2: Check for errors or incorrect logic

    The syntax is correct and the logic restricts access properly.
  3. Final Answer:

    It allows read and write only if user is authenticated and matches userId -> Option B
  4. Quick Check:

    Auth check with userId match = correct rule [OK]
Hint: Check if auth uid matches userId for access [OK]
Common Mistakes:
  • Thinking it allows access without auth
  • Assuming syntax errors exist
  • Believing it denies all access
5. You want to build a chat app that works offline and syncs messages automatically when online. Why is Firestore the best choice for this?
hard
A. Because Firestore only stores data temporarily in memory
B. Because Firestore requires manual syncing and no offline support
C. Because Firestore does not support real-time updates
D. Because Firestore supports offline data persistence and real-time syncing

Solution

  1. Step 1: Identify offline support in Firestore

    Firestore caches data locally, so apps work offline without errors.
  2. Step 2: Recognize real-time syncing feature

    When online, Firestore syncs changes automatically to keep data updated.
  3. Step 3: Compare with other options

    Options A, B, and D contradict Firestore's key features.
  4. Final Answer:

    Because Firestore supports offline data persistence and real-time syncing -> Option D
  5. Quick Check:

    Offline + real-time sync = Firestore best for chat [OK]
Hint: Offline persistence + real-time sync = Firestore wins [OK]
Common Mistakes:
  • Thinking Firestore needs manual sync
  • Believing Firestore lacks offline support
  • Confusing Firestore with temporary storage
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard