MongoDB161 questions in the bank

MongoDB Quiz: Test Your MongoDB Knowledge

Pick how many questions you want, choose a difficulty and go. You'll see why each answer is right or wrong, then you can retry to beat your score.

Questions
Difficulty
Topic
Mode
  1. What format does MongoDB use to store documents?

    • CSV
    • XML
    • BSON, a binary form of JSON
    • YAML
  2. What is mongosh?

    • A Node.js framework
    • MongoDB's interactive command-line shell
    • A backup tool
    • A query language
  3. When is a collection created?

    • Automatically, the first time a document is inserted into it
    • Only with createCollection
    • When the server starts
    • When you run show collections
  4. What is MongoDB Atlas?

    • A query editor
    • A JSON library
    • A Node.js driver
    • MongoDB's managed cloud database service
  5. Which kind of data suits MongoDB especially well?

    • Data that must be joined across many tables for every query
    • Self-contained records whose structure varies or changes often, like product catalogues
    • Only numbers
    • Only small datasets
  6. Is a collection created automatically when you first insert into it?

    • No
    • Yes
    • Only in Atlas
    • Only with insertMany
  7. What extra information does an ObjectId contain?

    • A timestamp of when it was created
    • The user who created it
    • The collection name
    • The document size
  8. How should dates be stored?

    • As strings like "01/03/2026"
    • As numbers of days
    • As Date values, using new Date() or ISODate()
    • As separate day, month and year fields
  9. Can _id be changed after a document is inserted?

    • No, it's immutable
    • Yes, with updateOne
    • Only for ObjectIds
    • Only by an admin
  10. Which tool imports a JSON file into a collection from the command line?

    • mongodump
    • mongosh --load
    • mongorestore only
    • mongoimport
  11. How are several conditions in one filter combined?

    • OR
    • AND
    • XOR
    • Only the first is used
  12. How do you query a field inside an embedded document?

    • With dot notation in quotes, like 'address.city'
    • With a JOIN
    • With $nested
    • It isn't possible
  13. What does findOne return when nothing matches?

    • null
    • An empty object
    • An error
    • An empty array
  14. Which method lists the unique values of a field?

    • unique()
    • group()
    • values()
    • distinct()
  15. Does { price: '10' } match a document where price is the number 10?

    • Yes
    • Only in mongosh
    • No, types must match
    • Only with an index
  16. What does $gte mean?

    • Greater than or equal to
    • Greater than
    • Not equal
    • Less than or equal to
  17. What does $or take?

    • A string
    • A number
    • An array of conditions
    • A field name
  18. Which option makes $regex ignore case?

    • $options: 'i'
    • $options: 'g'
    • $case: false
    • $ignoreCase: true
  19. What does { tags: { $size: 0 } } match?

    • Missing tags
    • Documents whose tags array is empty
    • Every document
    • Documents with null tags
  20. What is $expr used for in a find filter?

    • Regular expressions
    • Exporting results
    • Explaining queries
    • Using aggregation expressions, such as comparing two fields of the same document
  21. Which value sorts in ascending order?

    • 1
    • -1
    • 0
    • 'asc'
  22. Where does the projection go in find?

    • First argument
    • In sort
    • Second argument
    • In limit
  23. What does { comments: { $slice: -3 } } return in a projection?

    • The first three comments
    • The last three comments
    • Comments except three
    • An error
  24. Where do documents missing the sort field appear in an ascending sort?

    • At the end
    • They're excluded
    • In random places
    • At the start
  25. Can you exclude _id while including other fields?

    • No
    • Yes, _id is the only field you can exclude in an inclusion projection
    • Only with aggregation
    • Only if _id is an ObjectId
  26. Which operator removes a field?

    • $delete
    • $unset
    • $remove
    • $drop
  27. What does findOneAndUpdate with returnDocument: 'after' return?

    • The document after the update
    • The old document
    • The update result counts
    • Nothing
  28. What does $max: { best: 50 } do if best is 80?

    • Sets best to 50
    • Adds 50
    • Removes best
    • Leaves best at 80
  29. What does replaceOne keep from the original document?

    • All fields
    • Nothing
    • Nested documents
    • Only _id
  30. Why does { $set: { address: { city: 'York' } } } lose the street field?

    • $set can't handle nested documents
    • It replaces the whole address sub-document; use 'address.city' to change one field
    • It's a bug in MongoDB
    • city is a reserved word
  31. Which method removes a whole collection?

    • deleteMany({})
    • remove()
    • clear()
    • drop()
  32. What is a soft delete?

    • Deleting slowly
    • Deleting from a backup
    • Marking a document as deleted, for example with deletedAt, instead of removing it
    • Deleting with a TTL index
  33. What's a good habit before running deleteMany?

    • Run the same filter with countDocuments or find to check what will be removed
    • Restart the server
    • Drop the indexes
    • Turn off authentication
  34. Which kinds of data suit TTL indexes?

    • Orders and invoices
    • User accounts
    • Sessions, verification codes and temporary data
    • Product catalogues
  35. Can you undo a deleteMany in MongoDB?

    • Yes, with undo()
    • Yes, within one minute
    • Only in Atlas
    • No, only by restoring from a backup
  36. Which type should store money exactly?

    • Decimal128
    • Double
    • String
    • Boolean
  37. What does BSON add compared with JSON?

    • Comments
    • Extra types such as dates, ObjectIds, integers and Decimal128
    • Functions
    • Nothing
  38. Why does '100' sort before '20' as strings?

    • Strings sort character by character, and '1' comes before '2'
    • It's a bug
    • Numbers always sort first
    • Because of indexes
  39. Which operator converts a field to an integer in an aggregation?

    • $int
    • $parseInt
    • $toInt
    • $number
  40. What does { price: { $type: 'number' } } match?

    • Only doubles
    • Only integers
    • Strings that look like numbers
    • Any numeric type: double, int, long or decimal
  41. What does $push do if the array field doesn't exist?

    • Throws an error
    • Does nothing
    • Creates the array with the new value
    • Creates a string
  42. Which operator updates every element of an array?

    • $
    • $[]
    • $all
    • $each
  43. What is $each used for?

    • Adding several values with $push or $addToSet
    • Looping in mongosh
    • Matching array elements in queries
    • Deleting elements
  44. What does arrayFilters provide?

    • A filter for the whole collection
    • Sorting for arrays
    • A projection
    • Conditions that choose which array elements a $[name] update changes
  45. Why shouldn't comments on a popular post be stored as an ever-growing array inside the post?

    • Arrays can't store documents
    • $push doesn't work on large arrays
    • Comments need ObjectIds
    • Documents have a 16 MB limit and huge arrays make reads and updates slow
  46. What does a reference store?

    • A copy of the whole related document
    • A URL
    • An index
    • The _id of the related document
  47. Which relationship suits referencing?

    • A product's thousands of reviews
    • A user's single address
    • An order's three line items
    • A user's theme setting
  48. How do you model many-to-many in MongoDB?

    • It isn't possible
    • Embed everything twice
    • Store an array of ids on one or both sides
    • Use a single huge document
  49. What should you add for fields used as references?

    • A TTL
    • An index
    • A unique constraint always
    • Nothing
  50. Why do past orders often copy prices and addresses instead of referencing them?

    • To save space
    • References don't work with numbers
    • They must show what was true at the time of the order, even if the product or address changes later
    • For faster deletes
  51. What is a collection scan?

    • A backup
    • An index type
    • A security check
    • Reading every document to find matches, because no suitable index exists
  52. What's a downside of indexes?

    • They make reads slower
    • They delete data
    • They use memory and disk, and slow down writes
    • They only work on strings
  53. What does partialFilterExpression do?

    • Indexes only documents that match a condition
    • Filters query results
    • Removes old documents
    • Creates a text index
  54. What is a multikey index?

    • An index on an array field, with an entry for each element
    • An index with many names
    • A compound index
    • A unique index
  55. What is a covered query?

    • A query with a projection
    • A query inside a transaction
    • A query answered entirely from an index, without reading the documents
    • A query that returns no results
  56. What is an aggregation pipeline?

    • A backup process
    • A type of index
    • A replication method
    • An array of stages that documents pass through in order
  57. What does _id: null in $group do?

    • Removes _id from results
    • Causes an error
    • Groups all documents into a single group
    • Groups by missing values only
  58. Which accumulator builds an array of unique values?

    • $push
    • $unique
    • $distinct
    • $addToSet
  59. What does a $match placed after $group act like in SQL?

    • HAVING
    • WHERE
    • ORDER BY
    • JOIN
  60. What does '$price' mean inside a pipeline stage?

    • The text "price"
    • The value of the price field in the current document
    • An operator called price
    • The average price
  61. Which stage groups numbers into ranges you choose?

    • $group
    • $range
    • $bucket
    • $split
  62. What does $$this mean inside $map?

    • The whole document
    • The current array element
    • The previous stage
    • The collection
  63. Which expression gives a default for a missing field?

    • $ifNull
    • $default
    • $exists
    • $coalesce
  64. How do you group orders by day?

    • Group by '$at'
    • Group by $day
    • Group by { $dateToString: { format: '%Y-%m-%d', date: '$at' } }
    • Sort by date
  65. When should you avoid $unwind?

    • Always
    • When arrays contain numbers
    • When using $group
    • When you only need a value from each document's own array, which array expressions can compute directly
  66. Which $lookup option names the other collection?

    • into
    • from
    • collection
    • join
  67. How do you turn a one-element lookup array into an embedded document?

    • $flatten
    • $group
    • $unwind, or $set with $first
    • $project only
  68. What should be indexed to make $lookup fast?

    • foreignField in the joined collection
    • localField in the input collection
    • The as field
    • Nothing
  69. What does a pipeline inside $lookup allow?

    • Joining three collections at once only
    • Writing results to disk
    • Updating the joined documents
    • Extra conditions, sorting and projections on the joined documents
  70. Which stage follows references recursively, such as a category tree?

    • $graphLookup
    • $lookup
    • $unwind
    • $facet
  71. What should MongoDB schema design start from?

    • An ER diagram in third normal form
    • The number of collections
    • The application's access patterns: what it reads and writes, and how often
    • The size of the server
  72. Which is an anti-pattern?

    • Embedding an address in a user
    • An array that grows forever, such as every event a user triggers
    • A type field in a polymorphic collection
    • An index on a frequent query
  73. What does the polymorphic pattern allow?

    • Different document shapes in one collection, distinguished by a type field
    • Documents without _id
    • Multiple databases
    • Automatic joins
  74. What's a reasonable trade-off in MongoDB schema design?

    • Making every read do several joins
    • Never duplicating anything
    • Storing everything in one document
    • Doing a little more work on writes so frequent reads are fast and simple
  75. What does the outlier pattern handle?

    • Average documents
    • Deleted documents
    • Rare cases that would make a document far larger than normal, by moving the extra data elsewhere
    • Indexes
  76. Which keyword sets a field's type in $jsonSchema?

    • bsonType
    • type
    • fieldType
    • kind
  77. How do you add validation to a collection that already exists?

    • Drop and recreate it
    • With the collMod command
    • With createIndex
    • It's impossible
  78. What does validationAction: 'warn' do?

    • Rejects invalid writes
    • Deletes invalid documents
    • Allows invalid writes but logs a warning
    • Emails the admin
  79. Are fields not listed in properties allowed?

    • No, never
    • Yes, unless additionalProperties is false
    • Only strings
    • Only in nested documents
  80. Why validate in the database as well as in the application?

    • It protects data from every writer, including scripts, imports and other services
    • It's faster
    • Applications can't validate
    • It replaces indexes
  81. Which operator searches a text index?

    • $regex
    • $search in find
    • $text
    • $match
  82. What are stop words?

    • Words that end a search
    • Banned words
    • Words in quotes
    • Very common words such as "the" and "and" that text indexes ignore
  83. What do weights in a text index do?

    • Make matches in some fields count more towards the score
    • Limit results
    • Sort by date
    • Remove stop words
  84. Which regex can use a normal index efficiently?

    • /lamp/
    • An anchored prefix such as /^lam/
    • /.*lamp$/
    • Any regex
  85. Which feature needs Atlas Search rather than a basic text index?

    • Matching any of several words
    • Excluding words
    • Autocomplete as you type with typo tolerance
    • Case-insensitive search
  86. What does the A in ACID stand for?

    • Availability
    • Accuracy
    • Aggregation
    • Atomicity
  87. What must every operation inside a transaction use?

    • The transaction's session
    • An index
    • A projection
    • A write concern of 1
  88. What's the default time limit for a transaction?

    • 1 second
    • 1 hour
    • 60 seconds
    • No limit
  89. What does withTransaction do with temporary errors such as write conflicts?

    • Ignores them
    • Retries the transaction automatically
    • Crashes the shell
    • Commits anyway
  90. When is a multi-document transaction most appropriate?

    • Updating one order's status
    • Adding a tag to a post
    • Incrementing a view counter
    • Moving money between two separate account documents
  91. Which npm package is MongoDB's official Node.js driver?

    • mongo-node
    • mongosh
    • mongodb
    • mongo-driver
  92. Where should the connection string live?

    • In the source code
    • In package.json
    • In a public config file
    • In an environment variable such as MONGODB_URI
  93. How do you pass a projection to findOne in the driver?

    • findOne(filter, { projection: { name: 1 } })
    • findOne(filter, { name: 1 })
    • findOne(filter).project()
    • findOne({ projection })
  94. What does ObjectId.isValid(id) check?

    • Whether the document exists
    • Whether the id is unique
    • Whether the string can be turned into an ObjectId
    • Whether the user is allowed
  95. What is NoSQL injection?

    • A slow query
    • User input containing operators, like { "$ne": null }, that changes what a filter matches
    • A missing index
    • A duplicate key
  96. Which option makes a field mandatory?

    • mandatory: true
    • required: true
    • notNull: true
    • must: true
  97. What is a virtual in Mongoose?

    • A hidden collection
    • A fake document
    • A computed property that isn't stored in the database
    • An index
  98. When does pre('save') middleware run?

    • After every query
    • When the app starts
    • Only on delete
    • Before a document is saved
  99. Do updateOne calls run schema validators by default?

    • Yes
    • Only for required fields
    • No, pass { runValidators: true }
    • Only with lean
  100. Why must schema methods use function rather than arrow functions?

    • Arrow functions don't get the document as this
    • Arrow functions are slower
    • Mongoose doesn't support ES6
    • To allow async
  101. Which method shows how MongoDB will run a query?

    • plan()
    • analyze()
    • explain()
    • debug()
  102. What does the profiler record at level 1?

    • Operations slower than the slowms threshold
    • Nothing
    • Every operation
    • Only errors
  103. What does hint() do?

    • Gives a performance tip
    • Creates an index
    • Explains the query
    • Forces the query to use a specific index
  104. Which shows how often each index has been used?

    • getIndexes()
    • explain()
    • $indexStats
    • stats()
  105. What is the working set?

    • All data on disk
    • The data and indexes accessed regularly, which ideally fit in RAM
    • The current transaction
    • The query results
  106. What is a replica set?

    • A backup file
    • A group of MongoDB servers holding copies of the same data
    • A sharded collection
    • A set of indexes
  107. What happens when the primary fails?

    • The database is read-only forever
    • All data is lost
    • The remaining members elect a new primary, usually within seconds
    • An admin must manually copy data
  108. Which write concern is the default in modern MongoDB?

    • w: 0
    • w: 1
    • w: 'all'
    • w: 'majority'
  109. What does rs.stepDown() do?

    • Asks the primary to step down so another member is elected
    • Deletes the replica set
    • Removes a secondary
    • Stops replication
  110. What are retryable writes?

    • Driver behaviour that automatically retries a write once after a failover or network error
    • Writes that never fail
    • Writes saved to a queue
    • Transactions
  111. What is each shard in a production cluster?

    • A single server
    • A collection
    • A mongos router
    • A replica set
  112. What does the balancer do?

    • Balances CPU usage
    • Moves chunks between shards to keep data evenly distributed
    • Elects primaries
    • Balances read preferences
  113. What does high cardinality mean for a shard key?

    • Many distinct values, so data can be split into many chunks
    • Few distinct values
    • Large values
    • Values that change often
  114. What should you try before sharding?

    • Nothing, shard early
    • Deleting indexes
    • Turning off replication
    • Better indexes and queries, archiving old data and a well-sized replica set
  115. What is zone sharding used for?

    • Time zones
    • Keeping ranges of data on particular shards, such as EU data on EU servers
    • Hashing keys
    • Backups
  116. What should be enabled so every client must prove who it is?

    • Sharding
    • Authentication (access control)
    • Replication
    • Profiling
  117. What does TLS protect?

    • Data travelling over the network between clients and servers
    • Data on disk
    • Passwords in code
    • Indexes
  118. What's a custom role used for?

    • Granting exactly the actions needed on specific resources
    • Renaming users
    • Creating databases
    • Backups only
  119. Who should have the root role?

    • Every application
    • Almost nobody; it's for emergencies
    • Reporting tools
    • All developers
  120. What does client-side field level encryption add?

    • Faster queries
    • Automatic backups
    • Shorter passwords
    • Sensitive fields are encrypted by the application, so even database administrators can't read them
  121. Which command lists operations currently running on the server?

    • db.stats()
    • db.currentOp()
    • db.getUsers()
    • rs.conf()
  122. Why isn't mongoexport to CSV a full backup?

    • CSV loses BSON types such as dates and decimals, and indexes aren't included
    • It's too slow
    • It can't export large collections
    • It requires Atlas
  123. What does point-in-time restore allow?

    • Restoring only today's data
    • Restoring indexes only
    • Restoring the database to its state at any moment within the retention window
    • Undoing a single query instantly
  124. Which metric warns that secondaries are falling behind?

    • Connections
    • Replication lag
    • Index size
    • opcounters
  125. What makes an alert useful?

    • It fires often
    • It covers every metric
    • It only emails managers
    • It's actionable, signals a real symptom, and comes with steps to investigate
  126. Which filter identifies absence rather than a stored null?

    • { value: { $exists: false } }
    • { value: null }
    • { value: { $exists: true } }
  127. Why use aggregation $type for the scalar-null audit?

    • It distinguishes the outer array value from its null element
    • It converts every array into a scalar automatically
    • It makes missing fields store null permanently
  128. Why avoid concurrent next calls on one cursor?

    • They compete over one shared consumption position
    • MongoDB requires every cursor to return only one document
    • Concurrent reads automatically create independent snapshots
  129. What must accompany incremental retrieval for bounded memory?

    • A bounded retention and processing policy in the application
    • An array that stores every document forever
    • An unlimited promise for every matched document
  130. Why request pageSize plus one?

    • To detect another page while returning only pageSize rows
    • To include the extra row in the next token automatically
    • To make the query a fixed snapshot
  131. For ascending (score, _id), what comparison identifies later tuples?

    • Higher score, or equal score and higher _id
    • Lower score, or equal score and lower _id
    • Equal score only, ignoring _id
  132. Why does quantity remain five in the ordered main run?

    • The duplicate error stops the later increment
    • Ordered mode rolls back the initial seed document
    • A bulk cannot contain update models
  133. Which repeated model can accidentally double-apply an adjustment?

    • An unconditional $inc of the same quantity
    • A $set to the same desired quantity
    • A read-only find projection
  134. Where must the expected version check occur?

    • In the filter of the same update that changes fields and advances version
    • Only in a preceding find before an unconditional update
    • Only in the client UI with no server condition
  135. Why avoid upsert for an ordinary stale-editor save?

    • A failed version match should report a conflict, not attempt to create another record
    • Upsert disables every unique index
    • Upsert automatically merges all stale fields correctly
  136. Why does store B running total start at seven?

    • partitionBy separates B from A before window calculation
    • The final sort deletes store A amounts
    • Every window always starts at zero and discards its first row
  137. What does a running frame from unbounded to current include?

    • The partition beginning through the current row
    • Only the current and next row
    • Every row in every partition regardless of order
  138. Why is the demonstrated local day twenty-three hours?

    • The named timezone crosses a spring daylight-saving transition
    • BSON Date always stores days as twenty-three hours
    • dateAdd discards every second event
  139. Which operation defines a local daily bucket?

    • dateTrunc with unit day and the intended timezone
    • A string substring of every UTC timestamp
    • A fixed server-local timezone assumption without configuration
  140. Why preserve observed false on generated rows?

    • It distinguishes derived positions from actual source readings
    • It makes the interpolated measurement physically observed
    • It causes densify to insert source documents automatically
  141. Which stage adds positions one and three in the main fixture?

    • densify
    • fill alone
    • The final sort
  142. Why does the main view show price ten after the source update?

    • Standard view results are computed from current source data
    • Every view automatically stores a new snapshot after each write
    • The rejected view insert changed the price
  143. What is missing from a broad-read user security design that only creates a narrow view?

    • Restrictions on direct access to the underlying collection
    • A second copy of the same view name
    • A random output sort that hides cost
  144. Why can a deleted source group leave a stale target summary?

    • No row for that group reaches merge to replace or remove it
    • Merge always restores deleted source documents
    • A unique index prevents all source deletes
  145. Why use replace for a wholly generated row?

    • It removes obsolete generated fields instead of preserving them by field merge
    • It makes all report rows refresh in one atomic write
    • It automatically deletes every absent group
  146. Why call tryNext before the controlled insert in the fixture?

    • To establish the stream before generating the event
    • To delete all previous source records automatically
    • To make the stream durable forever
  147. When should the application checkpoint an event?

    • After its corresponding effect is safely handled under the chosen policy
    • Immediately when the network delivers it regardless of processing
    • Only by decoding the token and guessing a timestamp
  148. Which field belongs in stable series metadata?

    • The sensor identifier
    • The temperature that changes each minute
    • A fresh random request ID for every observation
  149. What does minutes granularity do to an observation at 12:01:30?

    • It leaves that timestamp intact while configuring bucket behavior
    • It changes the timestamp to 12:01:00
    • It discards all other measurements in that minute
  150. When should an application publish a new upload ID to readers?

    • After the upload pipeline completes successfully
    • Immediately after openUploadStream allocates the ID
    • After the first source chunk is written
  151. How many five-byte chunks hold the thirteen-byte main fixture?

    • Three, with a shorter final chunk
    • Two, because the final three bytes stay only in metadata
    • Thirteen, because each character always becomes a separate chunk
  152. Which GeoJSON Point order is correct for longitude 12 and latitude 34?

    • coordinates: [12, 34]
    • coordinates: [34, 12]
    • coordinates: [12, 34, "meters"]
  153. What ordering does geoWithin guarantee for the matched fixture?

    • No nearest-first ordering; the fixture sorts by _id explicitly
    • The same distance order as $near for every polygon
    • Alphabetical order by each place name
  154. Which new document violates the main compound index restriction?

    • One with independent arrays in both tags and region
    • One with two strings in tags and a scalar region
    • One with scalar values in both tags and region
  155. Why does the unique labels index accept blue twice in document one?

    • Repeated keys within one document do not violate cross-document uniqueness
    • Unique indexes ignore all array values
    • The index deletes the second blue before storing the document
  156. Why is the attempted ada insertion rejected?

    • It compares equally to Ada under the unique index collation
    • Every accented name reserves all three-character strings
    • Collation forbids storing lowercase letters
  157. Which practice ordering uses numericOrdering?

    • item2,item3,item10
    • item10,item2,item3
    • item3,item2,item10
  158. Which query path matches the red products under the subtree index?

    • attributes.color
    • attributes.$**
    • name.color
  159. Why does the practice return a name that is outside the indexed attributes subtree?

    • The query may fetch the source document and project its name
    • wildcardProjection grants universal read access to omitted fields
    • The index copies every unindexed field into attributes automatically
  160. Which option limits waiting for a pooled connection checkout?

    • waitQueueTimeoutMS
    • maxConnecting
    • maxTimeMS
  161. What does the main fixture establish about observed pool use?

    • The positive checkout peak stays within two and all six reads complete
    • Exactly two sockets exist in the whole process
    • The six reads run as one atomic transaction
RelaxedNo clock. Read the explanation after each answer.
Timed30 seconds per question. Great for revision.
Exam modeNo feedback until the end, then a full review.

About the MongoDB quiz

This MongoDB quiz covers every lesson in the course, from inserting your first document to aggregation, schema design, transactions and replication. Many questions show a query and ask what it returns or how many documents it matches, because predicting results is the best way to check that you understand how MongoDB behaves. Others check vocabulary you'll meet in documentation and interviews, such as "embedded document", "compound index", "pipeline stage" and "write concern".

If you're still in the beginner stage, choose Easy and a topic you've just finished, such as queries or updates. After the intermediate lessons, try Mixed with 10 questions to practise indexes, aggregation and modelling together. Save Exam mode for the end of the course: it hides the answers until you finish, so it's an honest check of what you remember.

When you miss a question, read the explanation and revisit the lesson linked in your results. MongoDB mistakes often come from small details: a string where a number was expected, forgetting $set in an update, or separate array conditions where $elemMatch was needed. Spotting them in a quiz makes them easy to avoid in real code.

The question bank holds 161 questions drawn from 43 MongoDB lessons: 43 easy, 93 medium and 25 hard. Every time you start, the quiz picks a fresh random selection that matches your settings, so retaking it is a good way to practise. After each answer, or at the end in exam mode, you'll see why the right answer is right, and every question you miss links back to the lesson that teaches it.

What the MongoDB quiz covers