【发布时间】:2019-05-27 22:51:24
【问题描述】:
我想知道如何对 $in 表达式使用不区分大小写。
根据官方 MongoDB 手册,您可以这样做:
{ name: { $in: [ /^acme/i, /^ack/ ] } }
我在 Compass 上对此进行了测试,它工作正常,搜索不敏感。
我需要在 C# 中使用 Mongo 驱动程序。
我正在这样做:
var array = new BsonArray(companyNames);
var filter = new BsonDocument { { "Name", new BsonDocument { { "$in", new BsonArray(array) }} } };
var result = _collection.Find(filter).ToList();
companyNames 是一个字符串[]
但是,这只会检索到完全匹配的内容。这很明显,因为我不包括“正则表达式”表达式。但我不知道如何将正则表达式包含在字符串中。
解决方法是为每个公司名称创建一个带有正则表达式的 $or 表达式。
有人知道怎么做吗?
谢谢
【问题讨论】:
标签: c# mongodb mongodb-query mongodb-.net-driver