Правильно ли использовать две функции поиска в одном методе get? - PullRequest
0 голосов
/ 08 ноября 2018

Это работает, но я не знаю, является ли это правильным решением использовать Story.find два раза в одном методе get? Я использую его только для историй. Длина.

router.get("/", (req, res) => {
let pagin = req.query.skiper;
let limiter = 5;
let skippy = (parseInt(pagin)) * limiter;
let stl, quan, tabl = [],
    ak = 0,
    next,
    back;
Story.find()
    .then(stories => {
        stl = Math.ceil(stories.length / limiter);
      ...
            back = parseInt(pagin) - 1;
        }
    });



Story.find()
    .limit(5)
    .skip(skippy)
    .populate("category")
    .then(stories => {
        res.render("stories", {
            stories: stories,
            tabl,
            next,
            back
        });
    });

});

Когда я пытаюсь поставить сначала .then (), как

Story.find()
.then(stories =>{...
    )
    .limit(5)
    .populate("category")
    .then(stories => {
        res.render("stories", {
            stories: stories,
            tabl,
            next,
            back
        });
    });

Я получаю эту ошибку: Story.find (...). Then (...). Limit не является функцией

1 Ответ

0 голосов
/ 08 ноября 2018

первое решение кажется очень плохим, если вам нужно выполнить более одной задачи в одном запросе, почему вы не используете агрегацию mongodb https://docs.mongodb.com/manual/aggregation/ выучи это и наслаждайся этим!
Ошибка, с которой вы сталкиваетесь, потому что тогда это функция обратного вызова

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...