9

我开发了一个简单的 API,它允许您在 MongoDB 集合中构建一组搜索条件。我现在需要能够将此数组转换为实际的 Mongo 查询,而这部分是我遇到极大困难的地方。

理想情况下,我遵循一些允许我执行以下伪代码的语法:

var query = new QueryBuilder();
foreach (var group in groups)
{
    switch (group.Condition)
    {
        case GroupCondition.Or:
            query.Or(group.Queries);
        break;
        case GroupCondition.And:
            query.And(group.Queries);
        break;
    }
}
return myCollection.FindAs(type, query);

我实际上想构建稍微复杂一点的查询,但最终我想要使用上面的伪代码中所见的对象动态构建查询的功能。

如果我对我想要达到的目标不够清楚,请随时向我询问更多细节。

4

1 回答 1

4

似乎你有正确的想法......有一个名为 Query 的类,它本质上是一个没有实例化的查询构建器。

使用 MongoDB.Driver.Builders;

Query.And、Query.Or 等……都在那里。它与在 linq 提供程序下用于构建复杂查询的东西相同。

于 2012-08-24T01:27:10.120 回答