Não, os índices parciais suportam apenas um subconjunto dos operadores no filtro usado. Os únicos operadores suportados são:
$AND
(somente no nível superior), $EQ
, $LT
, $LTE
, $GT
, $GTE
, $EXISTS
e o TYPE_OPERATOR
. Isso deixa de fora, por exemplo
$NOT
, $REGEX
, $OR
, etc Você pode ver isso na fonte do MongoDB aqui .
Existem também algumas limitações gerais em índices parciais:
_id
índices não podem ser índices parciais.- Índices esparsos não podem ser índices parciais.
- Os índices de chave de fragmentação não podem ser índices parciais.
- Os índices parciais não são compatíveis com versões anteriores à 3.2.