MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Melhorar a existência de campos de consulta no MongoDB


Você pode redesenhar seu esquema assim:
{
  pairs:[
  {k: "a", v: 5775},
  {k: "b", v: "b1"},
  ]
}

Então você indexa sua chave:
db.people.ensureIndex({"pairs.k" : 1})

Depois disso, você poderá pesquisar por correspondência exata:
db.ent.find({'pairs.k':"a"})

Caso você vá com o índice Sparse e seu esquema atual, proposto por @WesFreeman, você precisará criar um índice em cada chave que deseja pesquisar. Isso pode afetar o desempenho de gravação ou não será aceitável se suas chaves não forem estáticas.