Bird
Raised Fist0
Firebasecloud~10 mins

Nested objects and arrays 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 add a nested object to Firestore.

Firebase
db.collection('users').doc('user1').set({ profile: [1] })
Drag options to blanks, or click blank then click option'
Anull
B['Alice', 30]
C'Alice'
D{ name: 'Alice', age: 30 }
Attempts:
3 left
💡 Hint
Common Mistakes
Using an array instead of an object.
Using a string instead of an object.
2fill in blank
medium

Complete the code to add an array of strings inside a Firestore document.

Firebase
db.collection('tasks').doc('task1').set({ tags: [1] })
Drag options to blanks, or click blank then click option'
A['urgent', 'home']
Burgent, home
C'urgent, home'
D{ 'urgent', 'home' }
Attempts:
3 left
💡 Hint
Common Mistakes
Using curly braces {} which create objects, not arrays.
Using a string instead of an array.
3fill in blank
hard

Fix the error in the nested object assignment to Firestore.

Firebase
db.collection('orders').doc('order1').set({ details: [1] })
Drag options to blanks, or click blank then click option'
A{ item: 'book', qty: 2 }
Bitem: 'book', qty: 2
C'{ item: book, qty: 2 }'
D[{ item: 'book', qty: 2 }]
Attempts:
3 left
💡 Hint
Common Mistakes
Using a string instead of an object.
Using an array when an object is expected.
4fill in blank
hard

Fill both blanks to create a nested object with an array inside Firestore.

Firebase
db.collection('projects').doc('proj1').set({ info: [1], tags: [2] })
Drag options to blanks, or click blank then click option'
A{ name: 'Build Shed', status: 'open' }
B['open', 'urgent']
C{ name: 'Build Shed', status: 'closed' }
D['done', 'low']
Attempts:
3 left
💡 Hint
Common Mistakes
Swapping object and array types.
Using strings instead of arrays or objects.
5fill in blank
hard

Fill all three blanks to create a Firestore document with nested objects and arrays.

Firebase
db.collection('events').doc('event1').set({ organizer: [1], attendees: [2], details: [3] })
Drag options to blanks, or click blank then click option'
A{ name: 'John Doe', contact: 'john@example.com' }
B['Alice', 'Bob', 'Charlie']
C{ date: '2024-07-01', location: 'Park' }
D['2024-07-01', 'Park']
Attempts:
3 left
💡 Hint
Common Mistakes
Using arrays where objects are needed.
Using strings instead of arrays or objects.

Practice

(1/5)
1. What is the main purpose of using nested objects in Firebase documents?
easy
A. To create separate databases within Firebase
B. To group related data inside one document for better organization
C. To store multiple documents in a collection
D. To encrypt data automatically

Solution

  1. Step 1: Understand nested objects concept

    Nested objects allow grouping related data inside a single document, making it easier to manage.
  2. Step 2: Compare with other options

    Options A, B, and D describe different Firebase features unrelated to nested objects.
  3. Final Answer:

    To group related data inside one document for better organization -> Option B
  4. Quick Check:

    Nested objects = group related data [OK]
Hint: Nested objects group related data inside one document [OK]
Common Mistakes:
  • Confusing nested objects with collections
  • Thinking nested objects create separate databases
  • Assuming nested objects encrypt data
2. Which of the following is the correct way to define an array inside a Firebase document?
easy
A. "tags": ["firebase", "cloud"]
B. "tags": {"0": "firebase", "1": "cloud"}
C. "tags": "firebase, cloud"
D. "tags": {"firebase", "cloud"}

Solution

  1. Step 1: Identify correct array syntax in Firebase

    Arrays in Firebase are defined using square brackets with comma-separated values.
  2. Step 2: Evaluate each option

    "tags": ["firebase", "cloud"] uses square brackets correctly. Options A and D use curly braces which define objects, not arrays. "tags": "firebase, cloud" is a string, not an array.
  3. Final Answer:

    "tags": ["firebase", "cloud"] -> Option A
  4. Quick Check:

    Arrays use square brackets [] [OK]
Hint: Arrays use square brackets [] in Firebase [OK]
Common Mistakes:
  • Using curly braces {} instead of square brackets []
  • Writing arrays as comma-separated strings
  • Confusing objects with arrays
3. Given this Firebase document snippet:
{"user": {"name": "Anna", "roles": ["admin", "editor"]}}

What will be the value of user.roles[1]?
medium
A. "admin"
B. undefined
C. "editor"
D. "user"

Solution

  1. Step 1: Understand array indexing in Firebase data

    Arrays start at index 0, so roles[0] is "admin" and roles[1] is "editor".
  2. Step 2: Identify the value at index 1

    The second element (index 1) in the roles array is "editor".
  3. Final Answer:

    "editor" -> Option C
  4. Quick Check:

    Index 1 in roles array = "editor" [OK]
Hint: Array indexes start at 0; roles[1] is second item [OK]
Common Mistakes:
  • Assuming array indexes start at 1
  • Confusing object keys with array indexes
  • Thinking roles[1] is undefined
4. You have this Firebase document:
{"profile": {"contacts": {"email": "user@example.com", "phones": ["123-456", "789-012"]}}}

Which code snippet correctly accesses the second phone number?
medium
A. profile[contacts].phones[1]
B. profile.contacts.phones[2]
C. profile.contacts[phones][1]
D. profile.contacts.phones[1]

Solution

  1. Step 1: Understand correct dot and bracket notation

    Access nested objects with dots and arrays with brackets. Index 1 is second item.
  2. Step 2: Evaluate each option

    profile.contacts.phones[1] uses correct dot notation and index 1. profile.contacts.phones[2] uses index 2 which is out of range. Options C and D misuse bracket notation for keys.
  3. Final Answer:

    profile.contacts.phones[1] -> Option D
  4. Quick Check:

    Use dot for keys, brackets for array index [OK]
Hint: Use dot notation for keys, brackets for array index [OK]
Common Mistakes:
  • Using wrong array index (2 instead of 1)
  • Using brackets incorrectly for object keys
  • Mixing quotes and brackets wrongly
5. You want to store a list of users where each user has a name and a list of favorite colors. Which Firebase structure correctly uses nested objects and arrays?
hard
A. {"users": [{"name": "Tom", "favorites": ["red", "blue"]}, {"name": "Sue", "favorites": ["green"]}]}
B. {"users": {"Tom": "red, blue", "Sue": "green"}}
C. {"users": [{"name": "Tom", "favorites": "red, blue"}, {"name": "Sue", "favorites": "green"}]}
D. {"users": ["Tom", "Sue"], "favorites": ["red", "blue", "green"]}

Solution

  1. Step 1: Identify correct nested structure for users and their favorite colors

    Each user should be an object with a name and an array of favorite colors.
  2. Step 2: Evaluate each option

    {"users": [{"name": "Tom", "favorites": ["red", "blue"]}, {"name": "Sue", "favorites": ["green"]}]} correctly nests user objects with arrays for favorites. {"users": {"Tom": "red, blue", "Sue": "green"}} uses a string instead of array. {"users": [{"name": "Tom", "favorites": "red, blue"}, {"name": "Sue", "favorites": "green"}]} uses strings for favorites, not arrays. {"users": ["Tom", "Sue"], "favorites": ["red", "blue", "green"]} separates users and favorites incorrectly.
  3. Final Answer:

    {"users": [{"name": "Tom", "favorites": ["red", "blue"]}, {"name": "Sue", "favorites": ["green"]}]} -> Option A
  4. Quick Check:

    Nested objects with arrays for lists = {"users": [{"name": "Tom", "favorites": ["red", "blue"]}, {"name": "Sue", "favorites": ["green"]}]} [OK]
Hint: Use objects for users, arrays for lists inside them [OK]
Common Mistakes:
  • Using strings instead of arrays for lists
  • Separating users and favorites incorrectly
  • Not nesting favorites inside each user object
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