Bird
Raised Fist0
Firebasecloud~10 mins

Deleting fields in Firebase - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to delete a field named 'age' from a Firestore document.

Firebase
docRef.update({ 'age': [1] })
Drag options to blanks, or click blank then click option'
Afirebase.firestore.FieldValue.delete()
Bnull
Cundefined
D0
Attempts:
3 left
💡 Hint
Common Mistakes
Using null or undefined does not delete the field.
Setting the field to 0 does not remove it.
2fill in blank
medium

Complete the code to delete the 'address' field from a Firestore document using the modular SDK.

Firebase
updateDoc(docRef, { 'address': [1] })
Drag options to blanks, or click blank then click option'
AFieldValue.delete()
Bnull
Cdelete()
DdeleteField()
Attempts:
3 left
💡 Hint
Common Mistakes
Using FieldValue.delete() is from the older namespaced SDK.
Using null does not delete the field.
3fill in blank
hard

Fix the error in the code to delete the 'phone' field from a Firestore document.

Firebase
docRef.update({ phone: [1] })
Drag options to blanks, or click blank then click option'
Afirebase.firestore.FieldValue.delete()
Bundefined
Cnull
Ddelete()
Attempts:
3 left
💡 Hint
Common Mistakes
Using null or undefined does not remove the field.
Using delete() is not a valid method here.
4fill in blank
hard

Fill both blanks to delete the 'email' field using the modular Firestore SDK.

Firebase
import { updateDoc, doc, [1] } from 'firebase/firestore';

await updateDoc(doc(db, 'users', userId), { 'email': [2] });
Drag options to blanks, or click blank then click option'
AdeleteField
BdeleteField()
CFieldValue.delete()
Dnull
Attempts:
3 left
💡 Hint
Common Mistakes
Importing with parentheses is wrong.
Using FieldValue.delete() is from the older SDK.
Setting the field to null does not delete it.
5fill in blank
hard

Fill all three blanks to delete multiple fields 'city', 'state', and 'zip' in one update call using the modular SDK.

Firebase
import { updateDoc, doc, [1] } from 'firebase/firestore';

await updateDoc(doc(db, 'locations', locationId), {
  'city': [2],
  'state': [3],
  'zip': [3]
});
Drag options to blanks, or click blank then click option'
AdeleteField
BdeleteField()
Cnull
DFieldValue.delete()
Attempts:
3 left
💡 Hint
Common Mistakes
Using null does not delete fields.
Using FieldValue.delete() is from the older SDK.
Not calling deleteField as a function causes errors.

Practice

(1/5)
1. What does the deleteField() function do in Firebase Firestore?
easy
A. It deletes the entire document.
B. It removes a specific field from a document.
C. It adds a new field to a document.
D. It updates the value of a field.

Solution

  1. Step 1: Understand the purpose of deleteField()

    This function is designed to remove a specific field from a Firestore document without deleting the whole document.
  2. Step 2: Differentiate from other operations

    Deleting a document removes all data, adding or updating changes or adds fields, but deleteField() only removes one field.
  3. Final Answer:

    It removes a specific field from a document. -> Option B
  4. Quick Check:

    deleteField() removes fields = A [OK]
Hint: Remember: deleteField() targets one field, not whole document [OK]
Common Mistakes:
  • Confusing field deletion with document deletion
  • Thinking deleteField() adds or updates fields
  • Assuming deleteField() works on collections
2. Which of the following is the correct syntax to delete a field named age from a Firestore document using updateDoc?
easy
A. updateDoc(docRef, deleteField('age'));
B. updateDoc(docRef, { deleteField: 'age' });
C. updateDoc(docRef, { age: null });
D. updateDoc(docRef, { age: deleteField() });

Solution

  1. Step 1: Recall the correct usage of deleteField()

    The function is used as a value in the update object for the field to delete, like { fieldName: deleteField() }.
  2. Step 2: Check each option's syntax

    updateDoc(docRef, { age: deleteField() }); correctly uses age: deleteField(). updateDoc(docRef, { deleteField: 'age' }); wrongly uses the function name as a key. updateDoc(docRef, { age: null }); sets the field to null, which does not delete it. updateDoc(docRef, deleteField('age')); incorrectly passes the field name as an argument to deleteField().
  3. Final Answer:

    updateDoc(docRef, { age: deleteField() }); -> Option D
  4. Quick Check:

    Use field: deleteField() inside updateDoc = A [OK]
Hint: Use field name as key and deleteField() as value [OK]
Common Mistakes:
  • Passing field name as argument to deleteField()
  • Setting field to null instead of deleting
  • Using deleteField as a key instead of a function
3. Given the following code snippet, what will be the content of the document after execution?
const docRef = doc(db, 'users', 'user1');
await updateDoc(docRef, { city: deleteField() });

Assuming the document initially has fields: { name: 'Anna', city: 'Paris', age: 30 }
medium
A. { name: 'Anna', city: 'Paris', age: 30 }
B. { name: 'Anna', city: null, age: 30 }
C. { name: 'Anna', age: 30 }
D. Document deleted

Solution

  1. Step 1: Understand what deleteField() does in updateDoc

    It removes the specified field from the document, so city will be removed.
  2. Step 2: Analyze the document after update

    Original fields are name, city, and age. After deletion, city is gone, leaving name and age.
  3. Final Answer:

    { name: 'Anna', age: 30 } -> Option C
  4. Quick Check:

    deleteField() removes field = { name, age } [OK]
Hint: Deleted fields disappear completely, not set to null [OK]
Common Mistakes:
  • Thinking deleted fields become null
  • Assuming document is deleted
  • Believing field value remains unchanged
4. You wrote this code to delete the field status from a Firestore document:
await updateDoc(docRef, { deleteField('status') });

Why does this code cause an error?
medium
A. Because deleteField must be used as a value, not as a key.
B. Because updateDoc cannot delete fields.
C. Because deleteField requires the document reference as argument.
D. Because status field does not exist.

Solution

  1. Step 1: Identify the syntax error in the update object

    The object passed to updateDoc must have keys as field names and values as the new values or deleteField(). Here, deleteField('status') is used as a key, which is invalid.
  2. Step 2: Correct usage of deleteField()

    The correct syntax is { status: deleteField() }, where status is the key and deleteField() is the value.
  3. Final Answer:

    Because deleteField must be used as a value, not as a key. -> Option A
  4. Quick Check:

    Field name as key, deleteField() as value = D [OK]
Hint: Use field name as key, deleteField() as value in updateDoc [OK]
Common Mistakes:
  • Using deleteField() as key instead of value
  • Passing arguments to deleteField()
  • Assuming updateDoc can't delete fields
5. You want to remove multiple fields phone and address from a Firestore document in a single update. Which code snippet correctly deletes both fields?
hard
A. await updateDoc(docRef, { phone: deleteField(), address: deleteField() });
B. await updateDoc(docRef, { deleteField('phone'), deleteField('address') });
C. await updateDoc(docRef, { phone: null, address: null });
D. await updateDoc(docRef, deleteField(['phone', 'address']));

Solution

  1. Step 1: Understand how to delete multiple fields

    Each field to delete must be a key in the update object with deleteField() as its value.
  2. Step 2: Evaluate each option

    await updateDoc(docRef, { phone: deleteField(), address: deleteField() }); correctly deletes both fields by specifying them separately. await updateDoc(docRef, { deleteField('phone'), deleteField('address') }); uses invalid syntax with multiple deleteField calls as keys. await updateDoc(docRef, { phone: null, address: null }); sets fields to null but does not delete them. await updateDoc(docRef, deleteField(['phone', 'address'])); incorrectly passes an array to deleteField, which is not supported.
  3. Final Answer:

    await updateDoc(docRef, { phone: deleteField(), address: deleteField() }); -> Option A
  4. Quick Check:

    Delete multiple fields by listing each with deleteField() = B [OK]
Hint: List each field with deleteField() in updateDoc object [OK]
Common Mistakes:
  • Trying to delete multiple fields with one deleteField call
  • Setting fields to null instead of deleting
  • Using deleteField as keys or passing arrays
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