C100DEV Data Modeling Practice Question
You are designing a schema for a social application where each user document stores an array of their last 50 notifications. Notifications are frequently added, and the application only needs to display the most recent 50. Which schema design approach best supports this requirement while minimizing document growth?
⚠ Common exam trap
The trap here is assuming that any pattern that reduces document size works, but the Subset Pattern specifically addresses the need to keep a capped, frequently accessed subset embedded while moving the rest elsewhere.
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
✓
Use the Subset Pattern by embedding only the most recent 50 notifications and storing older ones in a separate collection.
The Subset Pattern is the best fit because it keeps only the most frequently accessed data (the latest 50 notifications) embedded in the user document while offloading older notifications to another collection. This keeps the document small, avoids hitting the 16MB limit, and ensures fast access to recent notifications without unnecessary complexity.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Use the Bucket Pattern by grouping notifications into fixed-size buckets based on time.
Why it's wrong here
The Bucket Pattern groups data into buckets to optimize storage and querying for time-series or IoT data, but here notifications are already capped at 50 per user. Applying bucketing would add unnecessary complexity and not directly address the requirement of maintaining a fixed-size array within the user document.
- ✓
Use the Subset Pattern by embedding only the most recent 50 notifications and storing older ones in a separate collection.
Why this is correct
The Subset Pattern is ideal when you frequently access a subset of related data. By embedding only the 50 most recent notifications and moving older ones to a separate collection, the user document remains small and queries for recent notifications are fast, directly meeting the requirement.
- ✗
Use the Extended Reference Pattern by embedding notification counts and frequently accessed fields from the notification documents.
Why it's wrong here
The Extended Reference Pattern duplicates fields from a referenced document into the referencing document to avoid joins. Here, notifications are embedded, not referenced, and the goal is to limit array size, not to optimize cross-collection lookups. This pattern does not address the growth issue.
- ✗
Use the Computed Pattern by precalculating and storing the total number of notifications per user.
Why it's wrong here
The Computed Pattern is used to precompute values like counts or sums to reduce CPU load. While a notification count could be useful, it does not solve the problem of an ever-growing array. The array would still exceed the 16MB limit if notifications are not capped.
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.