Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Selected Reading
MongoDB compound conditions to fetch documents?
MongoDB compound conditions allow you to fetch documents by combining multiple criteria using logical operators. This enables complex filtering with AND, OR, and other conditional operators.
Syntax
// AND condition (implicit)
db.collection.find({field1: "value1", field2: "value2"})
// OR condition
db.collection.find({$or: [{field1: "value1"}, {field2: "value2"}]})
// IN operator for multiple values
db.collection.find({field: {$in: ["value1", "value2"]}})
Sample Data
db.demo714.insertMany([
{FirstName: "Chris", LastName: "Brown"},
{FirstName: "Adam", LastName: "Smith"},
{FirstName: "David", LastName: "Miller"},
{FirstName: "John", LastName: "Doe"}
]);
{
"acknowledged": true,
"insertedIds": [
ObjectId("5ea9a2da85324c2c98cc4c2b"),
ObjectId("5ea9a2e585324c2c98cc4c2c"),
ObjectId("5ea9a2ed85324c2c98cc4c2d"),
ObjectId("5ea9a2f785324c2c98cc4c2e")
]
}
Display All Documents
db.demo714.find();
{ "_id": ObjectId("5ea9a2da85324c2c98cc4c2b"), "FirstName": "Chris", "LastName": "Brown" }
{ "_id": ObjectId("5ea9a2e585324c2c98cc4c2c"), "FirstName": "Adam", "LastName": "Smith" }
{ "_id": ObjectId("5ea9a2ed85324c2c98cc4c2d"), "FirstName": "David", "LastName": "Miller" }
{ "_id": ObjectId("5ea9a2f785324c2c98cc4c2e"), "FirstName": "John", "LastName": "Doe" }
Method 1: Using $in Operator
Find documents where LastName is either "Miller" or "Brown" ?
db.demo714.find({"LastName": {$in: ["Miller", "Brown"]}});
{ "_id": ObjectId("5ea9a2da85324c2c98cc4c2b"), "FirstName": "Chris", "LastName": "Brown" }
{ "_id": ObjectId("5ea9a2ed85324c2c98cc4c2d"), "FirstName": "David", "LastName": "Miller" }
Method 2: Using $or Operator
Achieve the same result using explicit OR condition ?
db.demo714.find({
$or: [
{"LastName": "Miller"},
{"LastName": "Brown"}
]
});
Method 3: AND Condition
Find documents matching multiple fields simultaneously ?
db.demo714.find({"FirstName": "Chris", "LastName": "Brown"});
{ "_id": ObjectId("5ea9a2da85324c2c98cc4c2b"), "FirstName": "Chris", "LastName": "Brown" }
Conclusion
MongoDB compound conditions enable precise document filtering using $in, $or, and implicit AND operators. Use $in for checking multiple values in one field, and $or for complex multi-field conditions.
Advertisements
