c# - MongoDB 和 C# : Case insensitive search

标签 c# .net mongodb mongodb-.net-driver case-insensitive

我正在使用 MongoDBC# 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 中所述ToLowerToLowerInvariantToUpperToUpperInvariant 都以不区分大小写的方式执行匹配。之后,您可以使用所有支持的字符串方法,例如 ContainsStartsWith

这个例子会生成:

{
    "FirstName" : /hamster/is
}

i 选项使其不区分大小写。

关于c# - MongoDB 和 C# : Case insensitive search,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4458950/

相关文章:

javascript - 如何通过条件嵌套对象数组来检索文档?

c# - C# 中的内存压力测试

c# - 在方法签名中使用委托(delegate)和使用 Func<T>/Action<T> 有什么区别?

c# - 我可以在 C# 的子接口(interface)中重写父接口(interface)方法吗?

c# - 仅反序列化 JSON 响应的单个节点

c# - Mongo 过滤器 'in' 与 linq 版本

c# - 转义右括号

c# - 使用 HTMLAgilityPack 解析 javascript HTML

c# - 为 asp.net gridview 中的每一行提供唯一的行 ID

javascript - Mongoose 上的这种保存方法如何在不说明哪个数据库的情况下工作?