If I have a query that is matching on multiple $or fields, should there be an index for each of the $or conditionals? Since from my understanding, Mongo technically makes X queries where X is the number of $or conditionals
Hey @J_Phoebus ,
Welcome to the MongoDB community. I will try to answer your question as queries and indexing is my favourite part of MongoDB.
Lets say you are using different value of the same fields using $OR
like shown below:
$or : [
{ a: "alphabet"},
{ a: "numbers"},
{ a: "special chars"}
]
You can have query re-written as:
a : { $in:["alphabet","numbers","special chars"] }
In the above case you need only column a
to be indexed.
Lets say you want to query different columns of the same collection using $or like below:
$or : [
{ a: "alphabet"},
{ b: "numbers"},
{ c: "special chars"}
]
In the above case you need to have single key indexes on a
, b
and c
on all the fields that is using in the query.
Thanks,
Darshan
1 Like