次のようにスキーマを再設計できます:
{
pairs:[
{k: "a", v: 5775},
{k: "b", v: "b1"},
]
}
次に、キーのインデックスを作成します:
db.people.ensureIndex({"pairs.k" : 1})
この後、完全一致で検索できるようになります:
db.ent.find({'pairs.k':"a"})
@WesFreemanによって提案されたスパースインデックスと現在のスキーマを使用する場合は、検索する各キーにインデックスを作成する必要があります。書き込みパフォーマンスに影響を与える可能性があるか、キーが静的でない場合は受け入れられません。