使用regex MongoDB C#驱动程序进行过滤
本文关键字:过滤 驱动程序 regex MongoDB 使用 | 更新日期: 2023-09-27 18:26:17
我正在尝试将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();
}