我用的是MongoDB和C# driver for MongoDB.
我最近发现MongoDB中的所有查询都区分大小写.如何进行不区分大小写的搜索?
我找到了一种方法:
Query.Matches(
"FirstName",
BsonRegularExpression.Create(new Regex(searchKey,RegexOptions.IgnoreCase)));
我用的是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
选项使其不区分大小写.