我開發了一個簡單的API,它允許您在MongoDB集合中建立一個搜索條件數組。我現在需要能夠將此數組轉換爲實際的Mongo Query,而這部分是我極其困難的地方。如何使用MongoDB和C#驅動程序構建複雜的查詢?
理想的情況下,我經過一些語法,讓我做下面的僞代碼:
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);
其實我是想建立稍微更復雜的查詢,但最終我找的功能動態建立我的查詢與上面我的僞代碼中看到的對象。
如果我沒有對自己想要達到的目標有足夠的瞭解,請隨時向我諮詢更多詳細信息。
所以在你太過分之前,你應該考慮使用Linq。 – kelloti
同樣在這裏。我看到一些人使用查詢的例子與多個查詢表達式鏈接在一起,但是,當我這樣做Query.EQ()。GT();它不工作,因爲EQ/GT不返回查詢對象。我在這裏錯過了什麼? –