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
Find result within array of objects and match email address field in MongoDB?
To find results within array of objects and match specific field values in MongoDB, use dot notation to query nested array fields. This allows you to search for documents containing array elements with matching criteria.
Syntax
db.collection.find(
{
"arrayField.field1": "value1",
"arrayField.field2": "value2"
},
{ "arrayField.field1": 1 }
);
Sample Data
db.demo144.insertMany([
{
"EmployeeDetails": [
{"EmployeeName": "Chris", "EmployeeEmail": "Chris12@gmail.com"},
{"EmployeeName": "Bob", "EmployeeEmail": "bo22@gmail.com"}
]
},
{
"EmployeeDetails": [
{"EmployeeName": "David", "EmployeeEmail": "david@gmail.com"},
{"EmployeeName": "Carol", "EmployeeEmail": "Carol@gmail.com"}
]
}
]);
{
"acknowledged": true,
"insertedIds": [
ObjectId("5e32f1d8fdf09dd6d08539b9"),
ObjectId("5e32f1f5fdf09dd6d08539ba")
]
}
View Sample Data
db.demo144.find();
{
"_id": ObjectId("5e32f1d8fdf09dd6d08539b9"),
"EmployeeDetails": [
{ "EmployeeName": "Chris", "EmployeeEmail": "Chris12@gmail.com" },
{ "EmployeeName": "Bob", "EmployeeEmail": "bo22@gmail.com" }
]
}
{
"_id": ObjectId("5e32f1f5fdf09dd6d08539ba"),
"EmployeeDetails": [
{ "EmployeeName": "David", "EmployeeEmail": "david@gmail.com" },
{ "EmployeeName": "Carol", "EmployeeEmail": "Carol@gmail.com" }
]
}
Example: Match Email Address Field
Find documents where any array element matches both name and email criteria ?
db.demo144.find(
{
"EmployeeDetails.EmployeeName": "David",
"EmployeeDetails.EmployeeEmail": "david@gmail.com"
},
{ "EmployeeDetails.EmployeeName": 1 }
);
{
"_id": ObjectId("5e32f1f5fdf09dd6d08539ba"),
"EmployeeDetails": [
{ "EmployeeName": "David" },
{ "EmployeeName": "Carol" }
]
}
Key Points
- Dot notation queries check if any array element matches the criteria.
- Multiple field conditions don't guarantee they match the same array element.
- Use
$elemMatchto ensure all conditions match within a single array element.
Conclusion
Use dot notation with array field names to query nested objects in MongoDB arrays. This approach finds documents containing array elements that match your specified field criteria.
Advertisements
