Как определить и применить в порядке нескольких критериев для сортировки коллекции Mongodb? - PullRequest
0 голосов
/ 05 сентября 2018

В 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» означает как-то «ThenBy Ascending», пожалуйста, поправьте меня, если я ошибаюсь.

Возвращаясь к вопросу, то есть можем ли мы объединить команды сортировки для получения результатов в порядке следования команд? то есть что-то подобное правильно? :

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)

критерии LastName были бы заданы в другом месте кода, например, в виде строки.

Спасибо за вашу помощь

...