我需要使用MongoDB C#驱动程序构建以下查询
Policyfile
我使用了像这样的查询
db.Notes.find({ "Group._id" : 74, "CustomFields" : { "$elemMatch" : { "Value" : /batch/i } }, "IsDeleted" : false }).sort({ "CreatedDateTimeUtc" : -1 })
它生成了mongo查询
builder.ElemMatch(x => x.CustomFields, x => x.Value.Contains(filterValue))
如果您发现它在db.Notes.find({ "Group._id" : 74, "CustomFields" : { "$elemMatch" : { "Value" : /batch/s } }, "IsDeleted" : false }).sort({ "CreatedDateTimeUtc" : -1 })
而不是/batch/s
我怎样才能完成这项工作?我需要为
等过滤器执行此操作我可以做这样的事情,以便我可以将所有正则表达式模式应用于所有上述过滤器。
/batch/i
这会将查询转换为如下所示,但不会获得任何结果
builder.Regex(x => x.CustomFields[-1].Value, new BsonRegularExpression($"/{filterValue}/i"));
仅供参考:db.Notes.find({ "Project._id" : 74, "CustomFields.$.Value" : /bat/i, "IsDeleted" : false }).sort({ "CreatedDateTimeUtc" : -1 })
为builder
我的示例Notes Collection是这样的:
FilterDefinition<Note>