Я пытаюсь заставить пагинацию работать правильно, но по какой-то причине mon goose возвращает ноль элементов.
Вот соответствующий код в nodejs:
if (req.query.name) {
match.name = req.query.name;
}
// initial pageSize is 2
// initial page is 1
pageSize = parseInt(req.query.pagesize);
page = parseInt(req.query.page);
const foods = await Food.find({ match })
.skip(pageSize * (page - 1))
.limit(pageSize);
res.send({
foods,
});
Теперь я использовал ту же технику, используя .populate с другим маршрутом, и получил результат, который я ищу, например:
await req.user
.populate({
path: 'pets',
options: {
limit: req.query.pagesize,
skip: req.query.pagesize * (req.query.page - 1),
},
})
.execPopulate();
Я не могу понять, что не так. В базе 20 предметов. Если я удалю .limit и .skip и получу только .find, я получу все элементы.