用正则表达式mongodb c#驱动程序过滤

嗨,我想尝试将原始电子邮件的字段与liron@gmail.com等邮件进行匹配,但无论是否区分大小写,还可以找到LirOn@gmail.com字段。

public ObjectId? GetEntityIdByOriginalEmail(string originalEmail) { FilterDefinition filter = "{ x : { $regex : /" + originalEmail + "//i } }"; var entity = _entitiesStorage.GetSingleOrDefault(filter); if (entity == null) return null; return entity._id; } 

这对我没用。 为什么?

谢谢

您可以使用Builders.Filter.Regex

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