Non, les index partiels ne prennent en charge qu'un sous-ensemble des opérateurs du filtre utilisé. Les seuls opérateurs pris en charge sont :$AND
(uniquement au niveau supérieur), $EQ
, $LT
, $LTE
, $GT
, $GTE
, $EXISTS
et le TYPE_OPERATOR
.
Cela laisse de côté, par exemple $NOT
, $REGEX
, $OR
, etc.
Vous pouvez voir cela dans la source de MongoDB ici .
Il existe également des limitations générales sur les index partiels :
_id
les index ne peuvent pas être des index partiels.- Les index fragmentés ne peuvent pas être des index partiels.
- Les index de clé de partition ne peuvent pas être des index partiels.
- Les index partiels ne sont pas pris en charge dans les versions antérieures à 3.2.