Mongodb查询区分大小写

时间:2014-08-13 15:59:49

标签: c# mongodb

如何使此案例不敏感?目前它可以工作,但只有在案件匹配时。

var query =  Query.Matches("Name", searchString);

2 个答案:

答案 0 :(得分:2)

您可以将所有名称存储为大写或小写,并将搜索查询转换为正确的大小写。如果您想保留原始外壳,可以创建一个额外的字段进行搜索,全部为大写/小写。然后将您的查询转换为所有大写/小写,并查询该字段的大写/小写版本。这比使用正则表达式要好得多。

例如:

var query = Query.Matches("Name_Upper", searchString.ToUpper());

答案 1 :(得分:1)

您可以使用正则表达式执行此操作。 Mongo查询看起来像这样:

find({"Name": {"$regex": searchString, "$options": "i"}})

在C#中你会写这样的东西:

Query.Matches("Name", new BsonDocument(new Dictionary<string, object> {
    "$regex": searchString,
    "$options": "i"
}));