Myślę, że najlepszym sposobem na osiągnięcie tego, czego chcesz, jest dodanie {_id : -1}
db.coll.find({a : 1})
zostanie przekształcony w db.coll.find({a : 1, _id : -1})
. Jest to prostsze niż wszystkie rozwiązania shx2 (z wyjątkiem ostatniego z noScan, które jest fajne).
Ponadto _id
pole jest już indeksem podstawowym, więc szybko zorientuje się, że nie ma takiego _id
pole w kolekcji.
PS jeśli ktoś byłby tak sprytny, aby nazwać swój _id jako -1, możesz zrobić {_id : NaN}
.Jeśli będzie _id = NaN
wtedy najprawdopodobniej będziesz musiał przeprojektować swoją aplikację.