我正在尝试将 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/