簡體   English   中英

如何在各種條件下在mongodb中構建動態查詢

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM