簡體   English   中英

如何將此控制台mongodb查詢轉換為C#mongo驅動程序v2?

[英]How can I convert this console mongodb query to a C# mongo driver v2 one?

我想創建一個mongodb C#驅動程序2查詢,其結果與以下mongo cli命令幾乎相同:

db.myCollection.aggregate([{$group: { _id: null , "ids" : {$push: {$toString: "$_id"} } } }])

我正在尋找的輸出是:

{ 
    "ids" : 
    [ 
        "5cde5520f838ba2b580852ca", 
        "5d3f012c555aef66082917b0", 
        "5d527092555aef4f28fee38b", 
        "5d52712f555aef4f28fee38c", 
        "5d52719e555aef4f28fee38d" 
    ] 
}

使用Linq函數的Mongo驅動程序重載,我已經走了很遠

myCollection
    .AsQueryable()
    .Where(tm => tm.status == mysatus)
    .Select(tm => tm.id)

如何創建將在服務器端而不是客戶端端解決的查詢?

使用聚合框架不是強制性的。

您可以找到所有_id並將它們返回到這樣的列表中:

public static List<string> GetIds()
{
    var context = new MyContext();
    var builder = Builders<MyCollection>.Filter;
    var filter = builder.Empty;
    var ids = context.MyCollection.Find(filter).Project(x => x.Id.ToString()).ToList();
    return ids;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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