Я использую MongoDB и RoR для хранения данных регистрации. Я вытаскиваю данные и просматриваю результаты. Кто-нибудь сделал пейджинг с MongoDB или узнал о любых ресурсах в Интернете, которые могли бы помочь мне начать?
Приветствия
Eef
Ответ 1
Разбиение страницы в MongoDB может быть выполнено с использованием комбинации limit() и skip().
Например, предположим, что у нас есть коллекция, называемая пользователями в нашей активной базе данных.
>> db.users.find().limit(3)
Получает список первых трех пользовательских документов для нас. Обратите внимание, что это по сути то же самое, что и запись:
>> db.users.find().skip(0).limit(3)
В течение следующих трех мы можем сделать это:
>> db.users.find().skip(3).limit(3)
Это пропускает первые три записи пользователя и дает нам следующие три. Если в вашей базе данных есть только один пользователь, не беспокойтесь; MongoDB достаточно умен, чтобы только возвращать данные, которые присутствуют, и не будет аварийно.
Это можно обобщить так, и это будет примерно эквивалентно тому, что вы будете делать в веб-приложении. Предполагая, что мы имеем переменные, называемые PAGE_SIZE, которые установлены в 3, и произвольное PAGE_NUMBER: