sql >> Database >  >> NoSQL >> MongoDB

Verbeterde query-velden bestaan ​​in MongoDB

U kunt uw schema als volgt opnieuw ontwerpen:

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

Vervolgens indexeert u uw sleutel:

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

Hierna kunt u zoeken op exacte overeenkomst:

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

Als u Sparse-index gebruikt en uw huidige schema, voorgesteld door @WesFreeman, moet u een index maken voor elke sleutel die u wilt doorzoeken. Het kan de schrijfprestaties beïnvloeden of is niet acceptabel als uw sleutels niet statisch zijn.



  1. Mongoid / Mongodb en ingesloten documenten opvragen

  2. Express.js - Filter een mongodb-ID in de URL

  3. Upsert Array Elements die voldoen aan criteria in een MongoDB-document?

  4. Hoe scheve hash-slots in Redis te repareren