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
Querying array elements with MongoDB?
MongoDB provides simple and efficient ways to query documents that contain specific values within array fields. You can search for documents where an array contains a particular element using standard find() operations.
Syntax
db.collection.find({arrayFieldName: "value"});
This syntax returns all documents where the specified array field contains the given value.
Sample Data
Let us create a collection with sample documents to demonstrate array querying ?
db.queryArrayElementsDemo.insertMany([
{
"StudentName": "John",
"StudentFavouriteSubject": ["C", "Java"]
},
{
"StudentName": "Carol",
"StudentFavouriteSubject": ["C", "C++"]
},
{
"StudentName": "David",
"StudentFavouriteSubject": ["MongoDB", "Java"]
}
]);
{
"acknowledged": true,
"insertedIds": [
ObjectId("5c90c0354afe5c1d2279d694"),
ObjectId("5c90c0434afe5c1d2279d695"),
ObjectId("5c90c0584afe5c1d2279d696")
]
}
Display All Documents
db.queryArrayElementsDemo.find();
{
"_id": ObjectId("5c90c0354afe5c1d2279d694"),
"StudentName": "John",
"StudentFavouriteSubject": ["C", "Java"]
}
{
"_id": ObjectId("5c90c0434afe5c1d2279d695"),
"StudentName": "Carol",
"StudentFavouriteSubject": ["C", "C++"]
}
{
"_id": ObjectId("5c90c0584afe5c1d2279d696"),
"StudentName": "David",
"StudentFavouriteSubject": ["MongoDB", "Java"]
}
Query Array Elements
Find all students who have "Java" in their favourite subjects ?
db.queryArrayElementsDemo.find({StudentFavouriteSubject: "Java"});
{
"_id": ObjectId("5c90c0354afe5c1d2279d694"),
"StudentName": "John",
"StudentFavouriteSubject": ["C", "Java"]
}
{
"_id": ObjectId("5c90c0584afe5c1d2279d696"),
"StudentName": "David",
"StudentFavouriteSubject": ["MongoDB", "Java"]
}
Key Points
- MongoDB automatically searches for the specified value within array elements
- The query returns documents where any element in the array matches the value
- Array position does not matter ? MongoDB finds matches at any index
Conclusion
Querying array elements in MongoDB is straightforward using the standard find() syntax. MongoDB efficiently searches through array values and returns all matching documents, making it easy to find records containing specific array elements.
Advertisements
