Nein, Teilindizes unterstützen nur eine Teilmenge der Operatoren im verwendeten Filter. Die einzigen unterstützten Operatoren sind:$AND
(nur auf oberster Ebene), $EQ
, $LT
, $LTE
, $GT
, $GTE
, $EXISTS
und der TYPE_OPERATOR
.
Das lässt zum Beispiel $NOT
weg , $REGEX
, $OR
usw.
Sie können das in der Quelle für MongoDB hier .
Es gibt auch einige allgemeine Einschränkungen für Teilindizes:
_id
Indizes dürfen keine Teilindizes sein.- Sparse-Indizes können keine Teilindizes sein.
- Shard-Key-Indizes können keine Teilindizes sein.
- Teilindizes werden in Versionen vor 3.2 nicht unterstützt.