MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

MongoDB utilise COLLSCAN lorsqu'il renvoie uniquement _id

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