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 :
_idles 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.