Mongodb — получить 2-й элемент из коллекции

#c# #mongodb

#c# #mongodb

Вопрос:

Я пытаюсь получить второй последний элемент из коллекции Mongodb, чтобы убедиться, что отображаются последние оповещения. «время оповещения» установлено на desc. я получил первый элемент, используя метод firstordefault(), я пробовал разные методы, чтобы получить 2-й элемент, но не смог

Предыдущий результат

Экран сбора

Ответ №1:

Вы можете получить только 2 элемента из своего запроса, а затем выбрать последний

 collection.AsQueryable().Where(i => i.TestCaseID == CaseID).OrderByDescending(i => i.AlertTime).Take(2).ToList().LastOrDefault();
  

Комментарии:

1. Отладчик возвращает это исключение: метод LastOrDefault не поддерживается в дереве выражений

2. @NikaMaisuradze в этом случае перед LastOrDefault() преобразованием ваших результатов в список: Take(2).ToList().LastOrDefault(); таким образом, вы переносите свои результаты в память, а затем применяете стандартный LinQ (вместо того, чтобы C # пытался преобразовать ваш код в запрос к базе данных). Попробуйте, и я обновлю свой ответ.

Ответ №2:

Извините за поздний ответ

Пропустить (1).FirstOrDefault() сделал свое дело