Bird
Raised Fist0
Firebasecloud~5 mins

Migrating from Realtime Database to Firestore in Firebase - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a key difference between Firebase Realtime Database and Firestore?
Realtime Database stores data as one large JSON tree, while Firestore stores data in documents organized into collections, allowing more structured and scalable data management.
Click to reveal answer
intermediate
Why should you plan your data structure carefully when migrating to Firestore?
Because Firestore charges based on document reads and writes, a well-planned structure reduces costs and improves performance by minimizing unnecessary data access.
Click to reveal answer
intermediate
What Firebase tool can help migrate data from Realtime Database to Firestore?
Firebase provides a Data Migration tool and scripts that can export data from Realtime Database and import it into Firestore, helping automate the migration process.
Click to reveal answer
intermediate
How does Firestore handle offline data compared to Realtime Database?
Firestore has built-in offline support with automatic synchronization when the device reconnects, similar to Realtime Database but with improved consistency and reliability.
Click to reveal answer
advanced
What is a common challenge when migrating security rules from Realtime Database to Firestore?
Firestore uses a different security rules syntax and model, so rules must be rewritten carefully to maintain the same access controls and protect data properly.
Click to reveal answer
What data structure does Firestore use to organize data?
AA single JSON tree
BTables and rows
CDocuments and collections
DKey-value pairs only
Which of the following is a benefit of Firestore over Realtime Database?
AStructured queries and indexing
BUnlimited simultaneous connections
CNo need for security rules
DData stored only on the client
What must you do with your Realtime Database security rules when migrating to Firestore?
ACopy them directly without changes
BRewrite them using Firestore's rules syntax
CDisable security rules temporarily
DUse the same rules file for both
Which Firebase feature helps keep Firestore data available offline?
ARealtime syncing
BFirebase Hosting
CCloud Functions
DOffline persistence
What is a recommended first step when migrating from Realtime Database to Firestore?
APlan and redesign your data structure
BTurn off your app
CDelete all Realtime Database data
DIgnore Firestore limits
Explain the main differences between Firebase Realtime Database and Firestore and why these matter when migrating.
Think about how data is stored, accessed, and secured in both databases.
You got /5 concepts.
    Describe the key steps you would take to migrate an app from Realtime Database to Firestore.
    Consider planning, technical changes, and validation.
    You got /5 concepts.

      Practice

      (1/5)
      1. What is the main difference between Firebase Realtime Database and Firestore when migrating data?
      easy
      A. Realtime Database requires manual backups, Firestore automatically backs up data.
      B. Realtime Database uses SQL queries, Firestore uses NoSQL queries.
      C. Realtime Database stores data as one large JSON tree, Firestore stores data in documents and collections.
      D. Realtime Database supports offline mode, Firestore does not.

      Solution

      1. Step 1: Understand data structure differences

        Realtime Database organizes data as a single JSON tree, making it less flexible for complex queries.
      2. Step 2: Recognize Firestore's document model

        Firestore stores data in documents grouped into collections, allowing more structured and scalable data management.
      3. Final Answer:

        Realtime Database stores data as one large JSON tree, Firestore stores data in documents and collections. -> Option C
      4. Quick Check:

        Data structure difference = Realtime Database stores data as one large JSON tree, Firestore stores data in documents and collections. [OK]
      Hint: Remember: JSON tree vs documents/collections [OK]
      Common Mistakes:
      • Confusing query languages between databases
      • Assuming Firestore lacks offline support
      • Thinking backups are automatic in Realtime Database
      2. Which of the following is the correct Firebase CLI command to export data from Realtime Database before migration?
      easy
      A. firebase database:get / > ./backup.json
      B. firebase firestore:export ./backup
      C. firebase database:backup ./backup.json
      D. firebase export realtime ./backup.json

      Solution

      1. Step 1: Identify the correct CLI command for Realtime Database export

        The Firebase CLI uses firebase database:get / > ./backup.json to export Realtime Database data.
      2. Step 2: Confirm the syntax

        The command outputs JSON to stdout, which is redirected to ./backup.json.
      3. Final Answer:

        firebase database:get / > ./backup.json -> Option A
      4. Quick Check:

        Export command syntax = firebase database:get / > ./backup.json [OK]
      Hint: Export Realtime DB with 'database:get / > ./backup.json' command [OK]
      Common Mistakes:
      • Using firestore export command for Realtime Database
      • Incorrect command syntax
      • Confusing backup and export commands
      3. Given this snippet migrating data from Realtime Database JSON to Firestore documents, what will be the Firestore document ID for user 'user123'?
      const userData = {
        "user123": {"name": "Alice", "age": 30},
        "user456": {"name": "Bob", "age": 25}
      };
      
      for (const userId in userData) {
        firestore.collection('users').doc(userId).set(userData[userId]);
      }
      medium
      A. The user's name, e.g., "Alice"
      B. A random auto-generated ID
      C. "users"
      D. "user123"

      Solution

      1. Step 1: Analyze the loop and document ID assignment

        The loop uses doc(userId), so the document ID is set explicitly to the key, e.g., "user123".
      2. Step 2: Confirm document ID is not auto-generated

        Since doc(userId) is used, Firestore will not auto-generate an ID.
      3. Final Answer:

        "user123" -> Option D
      4. Quick Check:

        Document ID = userId key = "user123" [OK]
      Hint: doc(userId) sets document ID explicitly [OK]
      Common Mistakes:
      • Assuming Firestore auto-generates IDs always
      • Confusing collection name with document ID
      • Using user name as ID mistakenly
      4. You tried migrating data using a script but Firestore documents are empty after migration. What is the most likely cause?
      medium
      A. You used the wrong collection name in Firestore.
      B. You forgot to await the asynchronous set() calls in the migration script.
      C. You exported data from Firestore instead of Realtime Database.
      D. You did not enable Firestore in the Firebase console.

      Solution

      1. Step 1: Understand asynchronous Firestore writes

        Firestore's set() method returns a promise that must be awaited to complete the write.
      2. Step 2: Identify missing await causes empty documents

        If set() is not awaited, the script may finish before writes complete, resulting in empty documents.
      3. Final Answer:

        You forgot to await the asynchronous set() calls in the migration script. -> Option B
      4. Quick Check:

        Await async writes = You forgot to await the asynchronous set() calls in the migration script. [OK]
      Hint: Always await Firestore writes in migration scripts [OK]
      Common Mistakes:
      • Ignoring async nature of Firestore writes
      • Assuming collection name mismatch causes empty docs
      • Confusing export source databases
      5. You want to migrate nested Realtime Database data with users and their posts to Firestore. Which approach best preserves the data structure and supports efficient queries?
      hard
      A. Store users as documents in 'users' collection and posts as subcollections under each user document.
      B. Flatten all data into a single collection with combined user-post IDs as document IDs.
      C. Store all data in one large Firestore document per user including all posts as nested arrays.
      D. Migrate posts to a separate collection without linking to users.

      Solution

      1. Step 1: Understand Firestore data modeling best practices

        Firestore supports subcollections to model one-to-many relationships efficiently.
      2. Step 2: Choose structure preserving hierarchy and query efficiency

        Storing posts as subcollections under user documents keeps data organized and allows targeted queries.
      3. Final Answer:

        Store users as documents in 'users' collection and posts as subcollections under each user document. -> Option A
      4. Quick Check:

        Use subcollections for nested data = Store users as documents in 'users' collection and posts as subcollections under each user document. [OK]
      Hint: Use subcollections for nested related data in Firestore [OK]
      Common Mistakes:
      • Putting all data in one large document causing size limits
      • Flattening data losing natural hierarchy
      • Separating posts without user linkage
      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