c# - 使用正则表达式过滤 MongoDB C# 驱动程序

标签 c# mongodb filter

我正在尝试将 originalEmail 的字段与 liron@gmail.com 之类的邮件地址进行匹配,但无论如何,区分大小写意味着还可以找到 LirOn@gmail.com 字段。

public ObjectId? GetEntityIdByOriginalEmail(string originalEmail)
{
    FilterDefinition<Entity> filter = "{ x : { $regex : /" + originalEmail + "//i } }";
    var entity = _entitiesStorage.GetSingleOrDefault(filter);

    if (entity == null)
        return null;

    return entity._id;
}

这对我不起作用。为什么?

最佳答案

您可以使用 Builders.Filter.Regex

public async Task<Entity> GetEntityIdByOriginalEmail(string originalEmail)
{
    var collection = GetCollection();
    var filter = Builders<Entity>.Filter.Regex("x", new BsonRegularExpression(originalEmail, "i"));
    return await collection.Find(filter).FirstOrDefaultAsync();
}

关于c# - 使用正则表达式过滤 MongoDB C# 驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34184764/

相关文章:

Mongodb - 更改数据库名称

node.js - 无法使用 Mongoose 在 MongoDB Atlas 数据库上读取/写入

powershell - 检索特定的驱动器数据-Get-WmiObject Win32_logicaldisk

c# - 将数据从父级传递到对话框

c# - 在 Entity Framework 核心中执行业务规则

javascript - Node.js Passport 谷歌策略的开发模式?

php - Woocommerce 产品插件 按值过滤插件

c# - 声明一个同时支持 Void 和 IEnumerator 的函数

c# - 日期选择器 : How to popup datepicker when click on edittext using C# xamarin

swift - 如何从 NSObject 数组中过滤项目