The latest version of MongoDB (v3.2) adds support for partial (filtered) indexes. You supply a filter when you create the index and that filter determines which documents wi
Can I use any filter expression?
No, partial indexes support only a subset of the operators in the filter used. The only supported operators are: $AND
(only at the top level), $EQ
, $LT
, $LTE
, $GT
, $GTE
, $EXISTS
and the TYPE_OPERATOR
.
That leaves out, for example $NOT
, $REGEX
, $OR
, etc.
You can see that in the source for MongoDB here.
What are those limitations?
There are also some general limitations on partial indexes:
_id
indexes can't be partial indexes.