嗨,我是mongodb的新手。我有一个像这里的文件
{
"_id" : "58e46f81c4734559ac8082f0",
"Name" : "test",
"Students" : [
{
"Name" : "A",
"Marks" : "3"
}
]
}
我想使用c#mongodb驱动程序
对学生数组和sortBy Marks应用限制请建议任何方式来做到这一点。
提前致谢
答案 0 :(得分:0)
使用AsQueryable
collection.AsQueryable().Where(predict).SelectMany(Property).OrderByDescending().Take(number)
现在使用这个我能够创建mongodb查询。它适用于我。我得到了必要的结果
答案 1 :(得分:0)
这使用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();
students
变量是按标记排序的有限数量学生的列表。
<强>更新强>
这也有效:
var result = context.ThingCollection.Find(filter).Project(x => x.Students.Select(y => y).OrderByDescending(z => z.Marks).Take(3)).ToList();