繁体   English   中英

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

[英]Filter with regex MongoDB C# driver

我试图将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();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM