我正在使用 MongoDB和 C# driver for MongoDB .
我最近发现 MongoDB 中的所有查询都区分大小写。如何进行不区分大小写的搜索?
我找到了一种方法:
Query.Matches(
"FirstName",
BsonRegularExpression.Create(new Regex(searchKey,RegexOptions.IgnoreCase)));
最佳答案
最简单、最安全的方法是使用 Linq
:
var names = namesCollection.AsQueryable().Where(name =>
name.FirstName.ToLower().Contains("hamster"));
如 tutorial 中所述ToLower
、ToLowerInvariant
、ToUpper
和 ToUpperInvariant
都以不区分大小写的方式执行匹配。之后,您可以使用所有支持的字符串方法,例如 Contains
或 StartsWith
。
这个例子会生成:
{
"FirstName" : /hamster/is
}
i
选项使其不区分大小写。
关于c# - MongoDB 和 C# : Case insensitive search,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4458950/