Vous auriez besoin d'ajouter un filtre qui peut utiliser cet index comme tel afin de modifier ce plan de requête - toutes les opérations ne suppriment pas l'étape FETCH, par ex. $exists ne semble pas fonctionner :
db.coll.find({ _id: { $ne: 0 }, { _id: 1 }) // works for ObjectIds
Une partie de l'explication à cela se trouve dans la documentation :
Il me semble me souvenir d'avoir vu une demande JIRA pour prendre en charge cela sans le filtre, mais je ne me souviens pas de quel ticket il s'agissait...