Sie können Ihr Schema wie folgt umgestalten:
{
pairs:[
{k: "a", v: 5775},
{k: "b", v: "b1"},
]
}
Dann indizieren Sie Ihren Schlüssel:
db.people.ensureIndex({"pairs.k" : 1})
Danach können Sie nach exakter Übereinstimmung suchen:
db.ent.find({'pairs.k':"a"})
Falls Sie sich für den Sparse-Index und Ihr aktuelles Schema entscheiden, das von @WesFreeman vorgeschlagen wird, müssen Sie einen Index für jeden Schlüssel erstellen, den Sie durchsuchen möchten. Dies kann die Schreibleistung beeinträchtigen oder ist nicht akzeptabel, wenn Ihre Schlüssel nicht statisch sind.