D. db.collection.find({ age: 25 && status: "active" })
Solution
Step 1: Recognize implicit AND syntax
Using multiple fields inside one object automatically means AND, so { age: 25, status: "active" } is correct.
Step 2: Identify incorrect syntax
Options A and D use JavaScript operators inside query object, which is invalid. db.collection.find({ $and: [ { age: 25 }, { status: "active" } ] }) is correct but explicit $and is not needed here.
Final Answer:
db.collection.find({ age: 25, status: "active" }) -> Option B
Quick Check:
Multiple fields in one object = implicit AND [OK]
Hint: Use multiple fields in one object for AND, no $and needed [OK]
Common Mistakes:
Using JavaScript operators like && or || inside query object
Always writing $and even when not needed
Confusing OR and AND syntax
3. Given the collection documents:
{ name: "Alice", age: 30, city: "NY" }
{ name: "Bob", age: 25, city: "LA" }
{ name: "Carol", age: 30, city: "LA" }
What will be the result of this query? db.collection.find({ age: 30, city: "LA" })
Hint: All conditions must match; check each field carefully [OK]
Common Mistakes:
Including documents that match only one condition
Confusing OR with AND results
Ignoring city or age condition
4. You wrote this query to find documents where status is "pending" and priority is "high": db.tasks.find({ status: "pending", $and: [{ priority: "high" }] }) What is wrong with this query?
medium
A. The query will work fine and return correct results.
B. The $and array should contain multiple conditions, not just one.
C. Using $and inside the same object with other fields causes a syntax error.
D. You cannot mix implicit AND and explicit $and in the same query object.
Solution
Step 1: Analyze query structure
The query has an implicit field condition (status: "pending") combined with an explicit $and containing { priority: "high" }.
Step 2: Understand MongoDB query rules
MongoDB allows top-level fields and operators like $and to be combined with implicit AND. $and with a single condition is valid and equivalent to just including the field directly.
Final Answer:
The query will work fine and return correct results. -> Option A
Quick Check:
Mixing implicit AND and $and in one object is valid [OK]
Hint: You can mix implicit AND fields and $and operator at top level [OK]
Common Mistakes:
Thinking you cannot mix implicit fields and $and in the same object
Believing $and requires multiple conditions
Expecting a syntax error with $and containing one condition
5. You want to find all documents in a collection where category is "books", price is less than 20, and inStock is true. Which query uses implicit AND correctly and returns the expected results?
Using multiple fields inside one object combines conditions with implicit AND, so db.collection.find({ category: "books", price: { $lt: 20 }, inStock: true }) is correct and clean.
Step 2: Check other options for errors
db.collection.find({ $and: [ { category: "books" }, { price: { $lt: 20 } }, { inStock: true } ] }) is valid but uses explicit $and unnecessarily. Options A and C use invalid JavaScript operators inside query object, causing errors.