9

MongoDB コレクション内で一連の検索基準を構築できるようにする単純な API を開発しました。この配列を実際の Mongo Query に変換できるようにする必要がありますが、この部分で非常に苦労しています。

理想的には、次の擬似コードを実行できる構文を求めています。

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 に答える