如何定义和应用多标准来对Mongodb集合进行排序?

时间:2018-09-05 15:02:16

标签: c# mongodb linq sorting mongodb-.net-driver

在C#中,我们可以使用表达式树来指定对SortBy,SortByDescending,ThenBy和ThenByDescending方法的排序,如本例所示:

await collection.Find(FilterDefinition<Student>.Empty)
    .Skip((currentPage - 1) * pageSize)
    .Limit(pageSize)
    .SortByDescending(x => x.LastName)
    .ThenBy(x => x.Age)
    .ForEachAsync(
        student =>
        {
            Console.WriteLine($"S/N: {count}, \t Id: {student.Id}, FirstName: {student.FirstName}, LastName: {student.LastName}, Age: {student.Age}");
            count++;
        });

但是我不太了解。我想“ ThenBy”的意思是“ ThenByAscending”,如果我错了,请指正。

回到问题所在,即我们可以按照命令顺序组合排序命令以获得结果吗?即像这样正确吗? :

await collection.Find(FilterDefinition<Student>.Empty)
.SortByDescending(x => x.LastName)
.ThenBy(x => x.Age)
.ThenByDescending(x => x.LIQUIDITY)
.ThenBy(x => x.“PERFORMANCE”)
.ThenByDescending(x => x.“VOLUME”)

...

此外,如果您事先不知道标准,该如何应用排序首选项?即,代替

.SortByDescending(x => x.LastName)

例如,姓氏标准将在代码的其他位置作为字符串给出。

感谢您的帮助

0 个答案:

没有答案