C100DEV Data Modeling Practice Question
You are designing a schema for a social media platform. A user has a 'profile' document, and they can have thousands of 'followers'. How should you model the follower relationship?
⚠ Common exam trap
Candidates often assume that because MongoDB is document-oriented, they should embed everything. They fail to account for the 'unbounded' nature of social media followers that will eventually break the document.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Create a separate collection for followers and store references.
Storing thousands of followers in an array within the user profile document is a violation of the unbounded array anti-pattern, as it would cause the document to grow beyond the 16MB limit and result in poor write performance. Referencing the followers in a separate collection, where each follower is a separate document, provides a scalable solution that supports high growth and efficient querying without performance degradation.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Embed all follower IDs in an array within the user profile document.
Why it's wrong here
This leads to an unbounded array. As the number of followers grows, the user document will inevitably grow until it hits the 16MB limit, causing application errors and requiring a difficult schema migration. This pattern does not scale for social media platforms with a large number of followers.
- ✓
Create a separate collection for followers and store references.
Why this is correct
Storing followers in their own collection allows the system to scale to millions of followers per user. You can index the user ID field in this collection to perform fast lookups, ensuring that the user document remains small and that follow counts can be efficiently managed via aggregation queries.
- ✗
Use the Attribute Pattern to store each follower as a key-value pair.
Why it's wrong here
The Attribute Pattern is for heterogeneous data fields, not for modeling large, homogeneous lists of relationships. Using it here would still force you to store all followers inside the user document, hitting the same document size limitations as a simple array, while adding unnecessary complexity to your queries.
- ✗
Store the followers in a gridFS file to handle the large size.
Why it's wrong here
GridFS is for storing large files, not for structured, queryable data like user relationships. Using GridFS for followers would make it impossible to query for specific followers or perform standard database operations, making the data largely inaccessible for the application's required social functionality and search features.
About these practice questions
Courseiva writes every C100DEV question from scratch — 259 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →
JA
Written and reviewed by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
Last reviewed September 2026 · checked against the official MongoDB exam blueprint
This C100DEV practice question is part of Courseiva's free MongoDB certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the C100DEV exam.