$and
The $and
operator is a logical operator in MongoDB that allows you to combine multiple query statements and returns a result only when all of those conditions are met. With $and
, you can join together as many query conditions as necessary.
Syntax
Here’s the basic syntax for using the $and
operator:
{ $and: [{ expression1 }, { expression2 }, ... ] }
Example
Suppose we have a collection named orders
with the following documents:
{ "_id": 1, "item": "apple", "price": 1, "quantity": 5 }
{ "_id": 2, "item": "banana", "price": 1, "quantity": 10 }
{ "_id": 3, "item": "orange", "price": 2, "quantity": 5 }
{ "_id": 4, "item": "mango", "price": 3, "quantity": 15 }
If we want to find all the documents with a price
greater than 1 and quantity
less than 10, we use the $and
operator as follows:
db.orders.find({ $and: [{ price: { $gt: 1 } }, { quantity: { $lt: 10 } }] });
This query returns the following result:
{ "_id": 3, "item": "orange", "price": 2, "quantity": 5 }
Keep in mind that using $and
is only necessary when you have multiple conditions on the same field or you want to enforce a specific order for applying the conditions. Otherwise, you can use the standard query syntax like the following:
db.orders.find({ price: { $gt: 1 }, quantity: { $lt: 10 } });
This query will also return the same result as the $and
example above.