c# - MongoDB 和 C# : Case insensitive search

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

这个例子会生成:

{
    "FirstName" : /hamster/is
}

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

https://stackoverflow.com/questions/4458950/

相关文章:

java - 自动配置数据源失败 : 'spring.datasource.url' is not

shell - MongoDB 正在运行但无法使用 shell 连接

javascript - 如何在 Mongoose 模型中定义方法?

windows - 如何在 Windows 中连接到 MongoDB?

mongodb - 在 MongoDB 中存储日期的最佳方式是什么?

ruby-on-rails - Mongoid 3 + Heroku (MongoHQ) 导致 Mo

mongodb - 在键值数据存储中存储目录层次结构

ubuntu - MongoDB 仅在 Ubuntu 上以 root 身份运行时才有效 - 数据目录

ubuntu - 为什么我不能启动mongodb

mongodb - 在MongoDB中获取数组的第n个元素