Мангуста нумерация страниц не показывает количество страниц - PullRequest
0 голосов
/ 01 декабря 2018

Я пытаюсь построить пагинацию с помощью paginate, но он не показывает количество страниц или страниц ...

Route.js

// View users
router.get("/show", function (req, res, next) {

    var query = {};
    var options = {
        offset: 0,
        limit: 10
    };

    User.paginate(query, options).then(function (result) {
        return res.render("../modules/users/views/userList", {
            layout: 'cmsLayout',
            users: result.docs,
            page: parseInt(result.page),
            pages: parseInt(result.pages)
        });
    });
});

Руль

 {{#each pages}}
     <h1>{{this}}</h1>
 {{/each}}

// Результат НИЧЕГО

  <h2>{{pages}}</h2>

// Результат NaN

Я ищу любой совет, как показывать номера страниц, такие как 1 2 3 4 5

1 Ответ

0 голосов
/ 01 декабря 2018

Документ из mongoose-paginate

Обещание выполнено с объектом, имеющим свойства:

  • docs {Array}- Массив документов

  • total {Number} - Общее количество документов в коллекции, соответствующих запросу

  • limit {Number} - Ограничение, котороебыло использовано

  • [page] {Number} - Только если указано или использовались значения страницы / смещения по умолчанию

  • [pages] {Number} - Только если указана страница или использованы значения страницы / смещения по умолчанию

  • [offset] {Number} - Только если указано или использовались значения страницы / смещения по умолчанию

Кажется, здесь учитывается Only if.


//Skip 20 documents and return 10 documents
Model.paginate({}, { page: 3, limit: 10 }).then(function(result) {
    // result.docs
    // result.total
    // result.limit - 10
    // result.page - 3
    // result.pages
});

Таким образом, мы можем сделать это следующим образом.

  • Здесь мы используем page.offset требует от нас вычислений вручную, что здесь отстой.

  • В основном, нам не нужно ничего анализировать.Автор пакета упакован для вас.


router.get("/show", function (req, res, next) {
    var query = {};
    var options = { page: 1, limit: 10 };

    User.paginate(query, options).then(function (result) {
        return res.render("../modules/users/views/userList", {
            layout: "cmsLayout",
            users: result.docs,
            page: result.page, // The page num which equals 1.
            size: result.limit, // The page size which equals 10.
            pages: result.pages // It seems like the total page num. Not sure.
        });
    });
});

Есть ли какая-либо другая информация, которую вы здесь не показывали?

...