Я хочу использовать разбиение на страницы на основе курсора в коллекции mongodb с сортировкой.
Вот образец коллекции
{
_id: 3,
name: 'aaa'
},
{
_id: 2,
name: 'bbb'
},
{
_id: 1,
name: 'ccc'
}
Итак, в моем первом запросе я отсортирую коллекцию по name
по возрастанию и ограничение на 1, первый документ будет
{
_id: 3,
name: 'aaa'
}
Вот где мне нужна помощь, теперь мне нужен запрос, который сортирует коллекцию по name
и возвращает n
документов после _id:3
, но в отсортированной коллекции.
Мне нужно, чтобы он возвращал
{
_id: 2,
name: 'bbb'
}
По сути, ему нужно просмотреть отсортированный список, найти _id, который я предоставляю, и вернуть n
документов после этого.
Я работаю в конвейере агрегации и знаю, что могу использовать $ group и создать единый документ с массивом всех вложенных документов, а затем использовать $ filter . но это кажется действительно неэлегантным, и я беспокоюсь о производительности.
Есть идеи?