sql >> Database teknologi >  >> NoSQL >> MongoDB

Forbedre forespørgselsfelter findes i MongoDB

Du kan omdesigne dit skema sådan her:

{ pairs:[ {k: "a", v: 5775}, {k: "b", v: "b1"}, ] }

Så indekserer du din nøgle:

db.people.ensureIndex({"pairs.k" : 1})
 

Herefter vil du kunne søge efter eksakt match:

db.ent.find({'pairs.k':"a"})
 

Hvis du går med Sparse indeks og dit nuværende skema, foreslået af @WesFreeman, skal du oprette et indeks på hver nøgle, du vil søge. Det kan påvirke skriveydelsen eller vil ikke være acceptabelt, hvis dine nøgler ikke er statiske.



  1. MongoDB – Hvordan returnerer jeg dokumenter med <field_value> som <field_key>?

  2. Hvordan summeres arrays fra forskellige dokumenter i MongoDB Aggregation?

  3. Kan ikke bruge $multiply med Number

  4. MongoDB Index på forskellige typer