Bucket Pattern
Bucket Pattern: free step-by-step lesson with examples, common mistakes, and interview tips — part of MongoDB Tutorial on Toolliyo Academy.
On this page
MongoDB Tutorial · Lesson 37 of 100
Bucket Pattern
Foundations & CRUD ✓ → Queries & Schema → Aggregation & Scale → Atlas & Projects
Queries & Schema · 2 — Design · ~6 min · MongoDB — Schema Design
What is this?
The bucket pattern groups many small events into one document — for example one doc per device per hour holding an array of readings. Fewer documents mean fewer index entries and faster range scans.
Why should you care?
IoT devices can emit a reading every second. One document per reading explodes storage and indexes; bucketing keeps time-series manageable (or use time-series collections).
See it live — copy this example
Open mongosh or MongoDB Compass, select database nosqlverse, then run the example. Change one field and run again.
db.readings.insertOne({
deviceId: "sensor-42",
hour: ISODate("2026-07-19T10:00:00Z"),
samples: [
{ t: ISODate("2026-07-19T10:00:01Z"), temp: 28.1 },
{ t: ISODate("2026-07-19T10:00:02Z"), temp: 28.2 }
],
count: 2
})
db.readings.updateOne(
{ deviceId: "sensor-42", hour: ISODate("2026-07-19T10:00:00Z") },
{
$push: { samples: { t: ISODate("2026-07-19T10:00:03Z"), temp: 28.3 } },
$inc: { count: 1 }
}
)
Run Example »
Edit the code below and click Run to see the result in Toolliyo’s live editor.
What happened?
- One bucket document covers an hour for a device.
- New samples $push into samples and $inc count.
- Queries for an hour fetch one doc instead of 3600.
Practice next
- Insert the bucket document.
- Push two more samples with updateOne.
- Find by deviceId and hour range.
- Add minTemp/maxTemp maintained on each push.
- Query count: { $gte: 100 } for busy hours.
Remember
Bucket many tiny events into one document. Key buckets by entity + time window. Great for IoT and metrics.
Factory temperature monitors
Each machine writes buckets per minute to MongoDB for dashboards.
Outcome: Hourly charts load from dozens of docs, not millions.
Interview prep for this lesson
Practice these questions aloud after reading—each links to a full structured answer.
Sign in to ask a question or upvote helpful answers.
No questions yet — be the first to ask!