MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB verwendet COLLSCAN, wenn nur _id zurückgegeben wird

Sie müssten einen Filter hinzufügen, der diesen Index so verwenden kann, um diesen Abfrageplan zu ändern - nicht alle Operationen entfernen die FETCH-Phase, z. $exists scheint nicht zu funktionieren:

db.coll.find({ _id: { $ne: 0 }, { _id: 1 }) // works for ObjectIds

Ein Teil der Erklärung dafür befindet sich in der Dokumentation :

Ich erinnere mich, dass ich eine JIRA-Anfrage gesehen habe, um dies ohne den Filter zu unterstützen, kann mich aber nicht erinnern, welches Ticket das war ...