繁体   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