Bird
Raised Fist0
React Nativemobile~5 mins

Firestore CRUD operations in React Native - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does CRUD stand for in Firestore operations?
CRUD stands for Create, Read, Update, and Delete. These are the four basic operations to manage data in Firestore.
Click to reveal answer
beginner
How do you add a new document to a Firestore collection in React Native?
Use the add() method on a collection reference. For example: firestore().collection('users').add({name: 'Anna'}) adds a new user document.
Click to reveal answer
beginner
Which Firestore method is used to get a single document by its ID?
Use doc(id).get() on a collection reference. For example: firestore().collection('users').doc('abc123').get() fetches the document with ID 'abc123'.
Click to reveal answer
intermediate
How do you update fields in an existing Firestore document?
Use the update() method on a document reference. For example: firestore().collection('users').doc('abc123').update({age: 30}) updates the age field.
Click to reveal answer
intermediate
What happens if you use set() with {merge: true} in Firestore?
It updates the document by merging new fields with existing ones without overwriting the whole document.
Click to reveal answer
Which Firestore method adds a new document with an auto-generated ID?
Aadd()
Bset()
Cupdate()
Dget()
How do you delete a document in Firestore using React Native?
Acollection().delete()
Bupdate({deleted: true})
Cdoc(id).remove()
Ddoc(id).delete()
What does get() return when called on a document reference?
AAn array of documents
BA promise resolving to the document snapshot
CThe document data directly
DNothing
Which method overwrites the entire document in Firestore?
Aupdate()
Bget()
Cset() without merge option
Dadd()
To read all documents in a collection, which method is used?
Acollection().get()
Bdoc().get()
Cadd()
Dupdate()
Explain how to perform each CRUD operation in Firestore using React Native.
Think about the Firestore methods for collections and documents.
You got /4 concepts.
    Describe the difference between set() with and without the merge option in Firestore.
    Consider what happens to existing data in the document.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the collection() function do in Firestore when used in React Native?
      easy
      A. It points to a group of documents in the database.
      B. It creates a new document with data.
      C. It deletes a document from the database.
      D. It updates fields inside a document.

      Solution

      1. Step 1: Understand Firestore data structure

        Firestore organizes data in collections which contain documents.
      2. Step 2: Role of collection()

        The collection() function points to a specific collection (group of documents) in Firestore.
      3. Final Answer:

        It points to a group of documents in the database. -> Option A
      4. Quick Check:

        collection() = points to documents group [OK]
      Hint: Remember: collection() targets groups, doc() targets single items [OK]
      Common Mistakes:
      • Confusing collection() with doc()
      • Thinking collection() creates data
      • Mixing update and delete operations
      2. Which of the following is the correct syntax to add a new document with data to a Firestore collection named 'users'?
      easy
      A. await addDoc(collection(db, 'users'), {name: 'Anna', age: 25});
      B. await db.collection('users').add({name: 'Anna', age: 25});
      C. await setDoc(doc(db, 'users'), {name: 'Anna', age: 25});
      D. await updateDoc(collection(db, 'users'), {name: 'Anna', age: 25});

      Solution

      1. Step 1: Identify correct Firestore add syntax in React Native

        The addDoc function adds a new document to a collection.
      2. Step 2: Check the syntax correctness

        await addDoc(collection(db, 'users'), {name: 'Anna', age: 25}); uses addDoc(collection(db, 'users'), data) which is the correct modern syntax.
      3. Final Answer:

        await addDoc(collection(db, 'users'), {name: 'Anna', age: 25}); -> Option A
      4. Quick Check:

        Add new doc = addDoc(collection(db, 'name'), data) [OK]
      Hint: Use addDoc with collection() to add new documents [OK]
      Common Mistakes:
      • Using setDoc without doc() reference
      • Calling updateDoc on a collection instead of a document
      • Using deprecated syntax from older SDK versions
      3. Given this code snippet, what will be logged to the console?
      const docRef = doc(db, 'tasks', 'task1');
      await updateDoc(docRef, {completed: true});
      const docSnap = await getDoc(docRef);
      console.log(docSnap.data());
      medium
      A. { completed: false }
      B. { completed: true }
      C. An error because updateDoc cannot be awaited
      D. undefined

      Solution

      1. Step 1: Understand updateDoc effect

        The updateDoc call sets the field completed to true in the document 'task1'.
      2. Step 2: Reading updated document data

        The getDoc fetches the updated document, so docSnap.data() returns the updated fields.
      3. Final Answer:

        { completed: true } -> Option B
      4. Quick Check:

        updateDoc changes data, getDoc reads updated data [OK]
      Hint: updateDoc changes data; getDoc reads fresh data [OK]
      Common Mistakes:
      • Assuming updateDoc returns data
      • Forgetting to await async calls
      • Expecting old data without re-fetching
      4. Identify the error in this Firestore delete operation code:
      const docRef = doc(db, 'notes', 'note1');
      await deleteDoc(collection(db, 'notes', 'note1'));
      medium
      A. The collection path is missing a document ID.
      B. doc() cannot be used to get a document reference.
      C. deleteDoc must be called without await.
      D. deleteDoc should receive a document reference, not a collection.

      Solution

      1. Step 1: Check deleteDoc argument type

        The deleteDoc function requires a document reference, not a collection reference.
      2. Step 2: Analyze the code's argument

        The code passes collection(db, 'notes', 'note1') which is invalid because collection() does not accept a document ID.
      3. Final Answer:

        deleteDoc should receive a document reference, not a collection. -> Option D
      4. Quick Check:

        deleteDoc(docRef) not deleteDoc(collection(...)) [OK]
      Hint: deleteDoc needs doc(), not collection() [OK]
      Common Mistakes:
      • Passing collection() instead of doc() to deleteDoc
      • Misunderstanding collection() parameters
      • Omitting await on async calls
      5. You want to update a user's profile in Firestore only if the 'age' field exists and is less than 30. Which code snippet correctly performs this conditional update?
      hard
      A. const docRef = doc(db, 'users', 'user1'); await updateDoc(docRef, {status: 'young'}); const docSnap = await getDoc(docRef); if (docSnap.data().age >= 30) { await deleteDoc(docRef); }
      B. await updateDoc(doc(db, 'users', 'user1'), {status: 'young', age: 30});
      C. const docRef = doc(db, 'users', 'user1'); const docSnap = await getDoc(docRef); if (docSnap.exists() && docSnap.data().age < 30) { await updateDoc(docRef, {status: 'young'}); }
      D. const docRef = doc(db, 'users', 'user1'); await setDoc(docRef, {status: 'young'}, {merge: true});

      Solution

      1. Step 1: Check for field existence and condition

        Use getDoc to read the document and verify if 'age' exists and is less than 30.
      2. Step 2: Conditionally update document

        If condition is true, call updateDoc to update the 'status' field without overwriting other data.
      3. Final Answer:

        Code snippet that reads, checks, then updates conditionally. -> Option C
      4. Quick Check:

        Read first, then update if condition true [OK]
      Hint: Always read document before conditional update [OK]
      Common Mistakes:
      • Updating without checking field existence
      • Using setDoc without merge causing overwrite
      • Deleting document incorrectly after update
      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