Jag tror att det bästa sättet att uppnå det du vill är att lägga till {_id : -1}
db.coll.find({a : 1})
kommer att omvandlas till db.coll.find({a : 1, _id : -1})
. Detta är enklare än alla shx2-lösningar (förutom den sista med noScan vilket är trevligt).
Dessutom _id
fältet är redan ett primärt index, så det kommer snabbt att inse att det inte finns något sådant _id
fältet i samlingen.
P.S. om någon skulle vara så smart att namnge sitt _id som -1, då kan du göra {_id : NaN}
.Om det kommer att finnas _id = NaN
då behöver du antagligen omutveckla din app.