[英]how to build dynamic query in mongodb with various conditions
我有一個SQL查詢,我需要使用c#
驅動程序進行等效的mongodb
查詢。 是否有可能創建一種動態方法來創建與此類sql
查詢等效的mongo,在這里我可以動態指定在條件動態創建的情況下應采用的所有列。 請幫助使用c#
創建mongo等效查詢
SELECT distinct(employeeID), firstname, Lastname, salary, joinedOn FROM [Employees]
where salary >= 40000 and joinedOn between '2011/02/25' and '2012/02/27'
使用Linq構建動態查詢又如何呢?
public T findOne<T> (Expression<Func<T, bool>> expression) where T: class
{
var db = server.GetDatabase(databaseName);
var documents = db.GetCollection<T>(typeof(T).Name);
return (documents.AsQueryable<T>().Where(expression)).SingleOrDefault;
}
您可以通過以下方式使用它:
var employee = findOne<Employee>(e=> d.salary>=4000 &&
d.joinedOn > "2011/02/25" &&
d.joinedOn < "2012/02/27");
我認為您應該將joinOn轉換為DateTime。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.