My collection schema is as follows:
Product
{
_id: ObjectId(), // default mongo db id
specification: [
{key: 'Name', value: "value 1"},
{key: 'Category', value: "value 2"},
{key: 'Department', value: "value 3"}
]
}
Now I want to query on this with a generic filter. For example,
- Get me all product with
Name = value 1andCategory in [value 2, value 3]andDepartment = value 3 - Get me all product with
Name = value 1orCategory = value 2orDepartment in [value 3, value 4]
I have been trying to use $match with $elemMatch. But that only allows only one query but I am not able to use the $and and $or operator.