C# Mongodb嵌套数组使用C进行限制和排序#
嗨,我是mongodb的新手。我有一份这样的文件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标记应用
{
"_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();