MongoDB query for exact match on multiple document fields

To perform exact match on multiple document fields in MongoDB, use the $in operator with $and to match specific values across different fields simultaneously.

Syntax

db.collection.find({
    $and: [
        { "field1": { $in: ["value1", "value2"] } },
        { "field2": { $in: [value3, value4] } }
    ]
});

Create Sample Data

db.demo422.insertMany([
    { "Name": "Chris", "Marks": 34 },
    { "Name": "Chris", "Marks": 56 },
    { "Name": "David", "Marks": 78 },
    { "Name": "Sam", "Marks": 45 },
    { "Name": "David", "Marks": 89 }
]);
{
    "acknowledged": true,
    "insertedIds": [
        ObjectId("5e73a4059822da45b30346e1"),
        ObjectId("5e73a40a9822da45b30346e2"),
        ObjectId("5e73a4149822da45b30346e3"),
        ObjectId("5e73a41e9822da45b30346e4"),
        ObjectId("5e73a4239822da45b30346e5")
    ]
}

Display All Documents

db.demo422.find();
{ "_id": ObjectId("5e73a4059822da45b30346e1"), "Name": "Chris", "Marks": 34 }
{ "_id": ObjectId("5e73a40a9822da45b30346e2"), "Name": "Chris", "Marks": 56 }
{ "_id": ObjectId("5e73a4149822da45b30346e3"), "Name": "David", "Marks": 78 }
{ "_id": ObjectId("5e73a41e9822da45b30346e4"), "Name": "Sam", "Marks": 45 }
{ "_id": ObjectId("5e73a4239822da45b30346e5"), "Name": "David", "Marks": 89 }

Example: Exact Match on Multiple Fields

Find documents where Name is either "Chris" or "David" AND Marks is either 34 or 89 ?

db.demo422.find({
    $and: [
        { "Name": { $in: ["Chris", "David"] } },
        { "Marks": { $in: [34, 89] } }
    ]
});
{ "_id": ObjectId("5e73a4059822da45b30346e1"), "Name": "Chris", "Marks": 34 }
{ "_id": ObjectId("5e73a4239822da45b30346e5"), "Name": "David", "Marks": 89 }

How It Works

The $and operator ensures that both conditions must be satisfied. Each field uses $in to match against multiple possible values, creating an intersection of matching documents.

Conclusion

Use $and with $in operators to perform exact matches across multiple fields. This approach efficiently filters documents that satisfy all specified field-value combinations simultaneously.

Updated on: 2026-03-15T02:55:48+05:30

844 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements