Acho que a melhor maneira de conseguir o que você deseja é adicionar
{_id : -1}
db.coll.find({a : 1})
será transformado em db.coll.find({a : 1, _id : -1})
. Isso é mais simples do que todas as soluções shx2 (exceto a última com noScan, que é legal). Além disso,
_id
campo já é um índice primário, então ele perceberá rapidamente que não existe tal _id
campo na coleção. P.S. se alguém for tão inteligente em nomear seu _id como -1, então você pode fazer
{_id : NaN}
.Se houver _id = NaN
então você provavelmente precisará desenvolver novamente seu aplicativo.