Lesson 23/100

Tutorials MongoDB Tutorial

Array Operators

Array Operators: 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 23 of 100

Array Operators

Foundations & CRUD ✓Queries & SchemaAggregation & ScaleAtlas & Projects

Queries & Schema · 2 — Design · ~6 min · MongoDB — Query Operators

What is this?

Array operators query lists inside documents: $all, $elemMatch, $size, and equality on array fields. $elemMatch is critical when one array element must satisfy multiple conditions.

Why should you care?

Orders have line items, users have roles[], products have tags[]. Without array operators you get false matches across different elements.

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.orders.insertMany([
  { _id: 1, items: [ { sku: "A", qty: 1 }, { sku: "B", qty: 5 } ] },
  { _id: 2, items: [ { sku: "A", qty: 5 }, { sku: "C", qty: 1 } ] }
])
db.orders.find({ items: { $elemMatch: { sku: "A", qty: { $gte: 5 } } } })
db.orders.find({ "items.sku": { $all: ["A", "B"] } })
db.orders.find({ items: { $size: 2 } })

Run Example »

Edit the code below and click Run to see the result in Toolliyo’s live editor.

Code
Result

What happened?

  • $elemMatch requires the same element sku A and qty ≥ 5 — only order 2.
  • $all requires both skus A and B present — order 1.
  • $size: 2 matches both sample orders.

Practice next

  1. Insert the two orders.
  2. Run the $elemMatch query.
  3. Contrast with { "items.sku": "A", "items.qty": { $gte: 5 } } without $elemMatch — see the false positive on order 1.
  4. Find orders that contain sku B.
  5. Add $elemMatch qty: { $lte: 1 }.

Remember

$elemMatch scopes conditions to one array element. $all requires every listed value. $size checks exact array length.

Cart contains a SKU with quantity

Warehouse picks orders where one line is sku A with qty ≥ 5 for bulk packing.

Outcome: $elemMatch prevents matching qty from a different line item.

Interview prep for this lesson

Practice these questions aloud after reading—each links to a full structured answer.

Junior Detailed
Explain SQL queries in the context of MongoDB.
Short answer: Interviewers want a crisp definition, a practical example from your projects, and awareness of trade-offs—not textbook dumps. Explain a bit more How to structure your answer (60–90 seconds) Define SQL queri…
Mid Detailed
What are common mistakes teams make with Schema design when using MongoDB?
Short answer: Interviewers want a crisp definition, a practical example from your projects, and awareness of trade-offs—not textbook dumps. Explain a bit more How to structure your answer (60–90 seconds) Define Schema de…
Senior Detailed
How would you debug a production issue related to Transactions in a MongoDB application?
Short answer: Interviewers want a crisp definition, a practical example from your projects, and awareness of trade-offs—not textbook dumps. Explain a bit more How to structure your answer (60–90 seconds) Define Transacti…
Junior Detailed
Describe a real-world scenario where Normalization mattered in a MongoDB project.
Short answer: Interviewers want a crisp definition, a practical example from your projects, and awareness of trade-offs—not textbook dumps. Explain a bit more How to structure your answer (60–90 seconds) Define Normaliza…
Questions on this lesson 0

Sign in to ask a question or upvote helpful answers.

No questions yet — be the first to ask!

MongoDB Tutorial
Course syllabus

MongoDB Tutorial

MongoDB — Foundations
MongoDB — CRUD Operations
MongoDB — Query Operators
MongoDB — Schema Design
MongoDB — Indexing & Performance
MongoDB — Aggregation Pipelines
MongoDB — Replication & Sharding
MongoDB — Atlas & Security
MongoDB — Modern Features
MongoDB — Real-World Projects
Toolliyo Assistant
Ask about tutorials, ebooks, training, pricing, mentor services, and support. I use public site content only—not admin or internal tools.

care@toolliyo.com

Need callback? Share your details