MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

requête insensible à la casse sur mongodb

Supposons que vous ayez un document contenant tag champ et vous voulez effectuer une recherche dessus

Tags
{
  tag,
  ...
 }

La première option est d'utiliser regex (mais cela fonctionne lentement comme l'a dit @RestRisiko):

db.tags.find( { "tag" : { "$regex" : "C#", "$options" : "-i" } })

La deuxième option est de créer un autre champ en minuscules (et dans mongodb, c'est la meilleure façon) :

Tags
{
  tag,
  tagLower,
  ..
}

Et utilisez find comme d'habitude :

db.tags.find( { "tagLower" : "c#"})

Cela fonctionnera plus rapidement, car le code ci-dessus peut utiliser l'index pour la recherche.