C# Mongodb嵌套数组使用C进行限制和排序#

C# Mongodb嵌套数组使用C进行限制和排序#,c#,mongodb,sorting,limit,mongodb-.net-driver,C#,Mongodb,Sorting,Limit,Mongodb .net Driver,嗨,我是mongodb的新手。我有一份这样的文件 { "_id" : "58e46f81c4734559ac8082f0", "Name" : "test", "Students" : [ { "Name" : "A", "Marks" : "3" } ] } 我想使用c#mongodb驱动程序对students数组和sortBy标记应用

嗨,我是mongodb的新手。我有一份这样的文件

  {
    "_id" : "58e46f81c4734559ac8082f0",
    "Name" : "test",
    "Students" : [ 
        {

            "Name" : "A",
            "Marks" : "3"
         }
                  ]
    }
我想使用c#mongodb驱动程序对students数组和sortBy标记应用限制

请建议做这件事的任何方法

提前感谢使用AsQueryable

collection.AsQueryable().Where(predict).SelectMany(Property).OrderByDescending().Take(number)


现在我可以使用它创建mongodb查询了,它对我来说很有用。我得到了所需的结果

这使用了MongoDB.Driver 2.4版:

var context = new Context();
var builder = Builders<Thing>.Filter;
var filter = builder.Eq(x => x.Name, "test"); // Or by Id, etc.
var result = context.ThingCollection.Find(filter).SingleOrDefault();
var students = result.Students.OrderByDescending(x => x.Marks).Take(limit).ToList();

它是内存处理。我想要一个只从数据库中获取所需数据的查询。不希望在resultRight上进行任何内存处理,我只希望嵌套数组的一部分什么是预测?还是财产?恭喜你,你可能赢得了最差答案奖@Cemal我不认为你在.net中使用了mongodb和linq。predict将是ex-:collection.AsQueryable()的where条件。where(i=>i.id==10)和属性或对象是希望在查询结果中获得的,比如name etcIt本身不是关于我的理解,而是关于回答的指导原则。
var result = context.ThingCollection.Find(filter).Project(x => x.Students.Select(y => y).OrderByDescending(z => z.Marks).Take(3)).ToList();