Эквивалент метода hasNext() для Mongoid::Criteria в Rails для нумерации страниц

Как я могу сказать есть ли еще результаты запроса в MongoDB?

Мне нужно знать, есть ли еще документы после лимитного запроса, как и вопрос, указанный выше, но в Ruby Mongoid.

Есть ли какой-либо метод, эквивалентный hasNext для Mongoid?

ОБНОВЛЕНИЕ: Обновление моего вопроса, чтобы дать некоторый контекст.

Я пытаюсь реализовать разбивку на страницы, но мой

Вот часть моей логики API:

limit = params[:limit] + 1
query_conditions << { :_id.lt => params[:flag] } 
@query = Notification.where({ '$and' => query_conditions }).limit(limit)

@last_page = @notifications_query.count < limit

Я бы отправил первые (n-1) элементы результата запроса и логическое значение last_page, чтобы сообщить клиенту, является ли это последней страницей. Но я хотел бы знать, есть ли какая-либо встроенная функция или более разумный способ определения логического значения последней страницы.


person zoonoo    schedule 08.06.2017    source источник
comment
Не то, чтобы я мог придумать... но чего вы пытаетесь достичь? Пагинация? Более подробный контекст не помешал бы.   -  person Md. Farhan Memon    schedule 08.06.2017
comment
@Md.FarhanMemon Я обновил вопрос, добавив в него дополнительный контекст. Я ценю вашу помощь :)   -  person zoonoo    schedule 08.06.2017


Ответы (1)


В этом случае я бы настоятельно рекомендовал гем kaminari-mongoid. Он предоставляет различные вспомогательные методы для реализации нумерации страниц (документы) в ваших случай (просто грубый набросок, так как у меня нет доступа к mongodb)

@query = Notification.where({ '$and' => query_conditions }).page(params[:page] || 1).per(params[:limit].to_i + 1)
@last_page = [email protected]_page
person Md. Farhan Memon    schedule 08.06.2017