#node.js #mongoose
Вопрос:
Я использую mongoose-paginate для разбивки на страницы, и я хочу добавить поиск для своего проекта… Как можно выполнить поиск строки запроса с помощью узла mongoose, подобного этому примеру … (/allStudents?stdID=440033)
My code is:
router.get('/allStudents', async (req,res) => {
const limit = parseInt(req.query.limit, 4) || 4;
const page = parseInt(req.query.page, 10) || 1;
const PAGE_SIZE = 10;
const skip = (page - 1) * PAGE_SIZE;
try {
const students = await Student.paginate({}, {limit, page, skip})
|| await Student.find({ stdID: req.query.stdID})
return res.status(200).json({
success: true,
data: students
})
} catch (err) {
console.log(err);
}
});
Ответ №1:
Вы должны передать свой запрос в качестве первого параметра в соответствии с документацией:
const students = await Student
.paginate(
{stdID: req.query.stdID},
{limit, page, skip}
);
Комментарии:
1. Спасибо за помощь
2. Но если я удалил строку запроса, она переходит в data:[]?
3. но я удаляю строку запроса, она ничего не содержит (данные: [])
4. Я могу сделать 2 запроса для mongoose-paginate? Как?
5. Я не уверен, что понимаю, что вы имеете в виду 🙂 Может быть, опубликовать новый вопрос, в котором вы подробно описываете свою новую проблему?