Be able to map a described data change to the exact MongoDB update operator or method, and to state what each read and write returns. The most important thing to get right is choosing $inc, $set, $push, $pull, $pop, updateMany with upsert, or findOne correctly for the scenario given.
Start practicing
CRUD Operations — choose a session length
Free · No account required
Domain overview
The CRUD Operations domain covers creating, reading, updating, and deleting documents in MongoDB using the shell and drivers. Questions test specific method names and update operators, plus the exact return values of read and write operations. You must know which operator or method fits a described task, and what MongoDB returns when a query matches nothing.
Exam objectives
Selecting the correct update operator such as $inc, $set, $push, or $pull for a described field change.
Using updateOne, updateMany, and replaceOne, and knowing how upsert inserts when no document matches.
Return values of findOne and find, including null when no document matches the query.
Removing array elements with $pull versus $pop, and inserting with $push and $addToSet.
Confusing $pull, which removes array elements by value or condition, with $pop, which removes the first or last element only.
Assuming findOne returns an empty document or throws an error when nothing matches; it actually returns null.
Forgetting that updateMany without upsert true modifies only existing matches and inserts nothing when none are found.
Click any question to see the full explanation and answer options, or start a focused practice session above.
When using the find() method, which cursor modifier is used to skip a specific number of documents before returning results?
2Refer to the exhibit. Which documents will this query return?
3Which operator would you use to remove an element from an array field in a document?
4What happens when you perform a find() query on a collection where the projection includes both an inclusion and an exclusion for different fields?
5What is the primary function of the 'projection' parameter in the find() method?
6Refer to the exhibit. What is the effect of the 'writeConcern' parameter in this operation?
7Which method is the safest way to delete a single document from a collection based on a unique identifier?
8What happens if you run an update operation with the $set operator on a field that does not yet exist in the document?
9Which THREE of the following are valid MongoDB CRUD query operators?
10Which cursor method should you use to sort documents by a field named 'age' in descending order?
11Which method should you use to update multiple documents in a collection and insert a new document if no matches are found?
12A developer needs to retrieve a subset of fields from a collection. Which TWO methods achieve this using projection?
13Which operator is best used to add an element to an array only if it does not already exist?
14Which update operator would you use to increase the value of a numeric field by a specific amount?
15Refer to the exhibit. What is the impact of this operation on the document?
16Which query operator matches documents where a field contains a value greater than or equal to a specified value?
17When performing a findOne operation, what does MongoDB return if no document matches the query criteria?
18Which operator is used to perform a logical OR operation across multiple query conditions?
19Which method is the most efficient way to perform a bulk update of multiple documents in a single request?
20What is the result of applying a $push operator with a value of [1, 2] to an existing array field [0]?
21You are a MongoDB DBA at a retail company. The 'orders' collection has a document with _id: 100 and status: 'pending'. You need to atomically update the status to 'shipped' only if the current status is 'pending'. Which update operation should you use?
22You are maintaining an inventory collection where each document has a field named `stock` (integer). A nightly job needs to atomically decrement `stock` by 1 for the document with `sku: "A100"` and also insert the current timestamp into a `lastUpdated` field in the same operation, without overwriting any other fields. Which update operation should you use?
23You are a MongoDB DBA and need to retrieve all documents from the 'products' collection where the 'price' field is greater than 100 and the 'category' is 'electronics'. Which query accomplishes this?
24You need to remove a single document from the `users` collection where the `email` field is "alice@example.com". The collection has a unique index on `email`. Which method should you use?
25A retail application stores product documents in the `products` collection. Each document has an `inventory` array of embedded subdocuments, for example: `{ _id: 1, name: "Widget", inventory: [ { sku: "A1", qty: 5 }, { sku: "B2", qty: 8 } ] }`. The warehouse team needs to increase the `qty` of the subdocument with `sku: "B2"` by 3 for the product with `_id: 1`. Which update operation accomplishes this?
26You are updating a document in the `products` collection. The document has an array field `tags`. You need to add the tag "sale" to the array only if it does not already exist, and you want to ensure that no duplicate tags are added even if multiple updates run concurrently. Which update operator should you use?
27A MongoDB 6.0 replica set has a collection called orders with the default read concern. Users occasionally see an order document that still shows status "pending" even though a separate application thread just updated it to "shipped" and received an acknowledgment. The update used default write concern and targeted a single document by _id. Which read concern should you set on the read operation to guarantee the read returns data acknowledged by a majority of replica set members?
28A developer needs to insert a document into the inventory collection and wants the operation to fail with a duplicate key error if a document with the same value for the sku field already exists. The sku field has a unique index. Which insert method and option combination achieves this with the least code?
29A DBA is reviewing a slow query on the `orders` collection. The query is: `db.orders.find( { status: "shipped", total: { $gt: 100 } } )`. The collection has an index on `{ status: 1, total: 1 }`. Which statement best describes how MongoDB will use this index to satisfy the query?
30A collection called events stores documents with an array field named tags. You need to remove all occurrences of the string "obsolete" from the tags array in every document where the array contains that value, without affecting other elements. Which update operator should you use?
31A sharded cluster stores customer documents in the customers collection, sharded on the customerId field. An application runs an updateOne with the filter { email: "user@example.com" } and the update { $set: { tier: "gold" } }. The email field is not the shard key and has no index. What is the most likely outcome of this operation?
32A DBA is reviewing update operations that use the upsert option. Which TWO statements about upsert behavior in MongoDB are correct? (Choose two.)
33A DBA is investigating a performance issue. A query on the `logs` collection uses the following filter: `{ $or: [ { level: "error" }, { level: "warning" } ] }`. There is an index on `{ level: 1 }`. Which statement correctly describes how MongoDB executes this query?
Be able to map a described data change to the exact MongoDB update operator or method, and to state what each read and write returns. The most important thing to get right is choosing $inc, $set, $push, $pull, $pop, updateMany with upsert, or findOne correctly for the scenario given.
The Courseiva C100DBA question bank contains 33 questions in the CRUD Operations domain. Click any question to see the full explanation and answer breakdown.
Start with a 10-question focused session to identify your baseline accuracy in this domain. Read every explanation — even for questions you answer correctly — to understand the reasoning. Once you score consistently above 80%, move to a 20–30 question session to confirm depth before moving to the next domain.
Yes — the session launcher on this page draws questions exclusively from the CRUD Operations domain. Choose 10, 20, 30, or 50 questions for a focused session, or click individual questions to review them one by one.
Save your results, see per-domain analytics, and get readiness scores — free, for every certification.
Sign Up FreeFree forever · Every certification included