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.

Updated on: 2026-03-15T00:17:40+05:30

347 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements