Puoi riprogettare il tuo schema in questo modo:
{
pairs:[
{k: "a", v: 5775},
{k: "b", v: "b1"},
]
}
Quindi indicizzi la tua chiave:
db.people.ensureIndex({"pairs.k" : 1})
Dopodiché potrai cercare per corrispondenza esatta:
db.ent.find({'pairs.k':"a"})
Nel caso in cui utilizzi l'indice sparso e il tuo schema attuale, proposto da @WesFreeman, dovrai creare un indice su ogni chiave che desideri cercare. Può influire sulle prestazioni di scrittura o non sarà accettabile se le chiavi non sono statiche.