用正则表达式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(); }