MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

case-insensitive Abfrage auf mongodb

Angenommen, Sie haben ein Dokument, das tag enthält Feld und Sie möchten danach suchen

Tags
{
  tag,
  ...
 }

Die erste Option ist die Verwendung von Regex (aber es funktioniert langsam, wie @RestRisiko sagte):

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

Die zweite Option ist, ein weiteres Feld in Kleinbuchstaben zu erstellen (und in Mongodb ist es der beste Weg):

Tags
{
  tag,
  tagLower,
  ..
}

Und verwenden Sie find wie gewohnt:

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

Es wird schneller funktionieren, da der obige Code den Index für die Suche verwenden kann.