Когда я ищу --- отображаются продукты ... но когда я нажимаю на странице 2, появляется ошибка ... как я могу разбить результаты поиска на руле ..
Это мой маршрут поиска.
router.get('/products-search',function(req,res,next){
const perPage = 1;
const page = req.query.page || 1;
const title = "Ahl.com: "+ req.query['search'];
Product.find({"tags" : {"$regex": req.query['search'], "$options": "i"}}).sort('-date').skip((perPage * page) - perPage).limit(perPage)
.then(products => {
Product.countDocuments({"tags" : {"$regex": req.query['search'], "$options": "i"}}).then(productCount=>{
res.render("categories/search", {title:title , products:products , current: parseInt(page), pages:Math.ceil(productCount / perPage)});
});
})
.catch(err => console.log("Search err"));
})
мой помощник руля для нумерации страниц
paginate: function(options){
let output = "";
if(options.hash.current === 1){
output += `<li class="page-item disabled"><a class="page-link">F</a></li>`;
}else{
output += `<li class="page-item"><a href="?page=1" class="page-link">F</a></li>`;
}
let i = (Number(options.hash.current) > 5 ? Number(options.hash.current) - 4 : 1);
if(i !== 1){
output += `<li class="page-item disabled"><a class="page-link">....</a></li>`;
}
for(; i <= (Number(options.hash.current) + 4) && i <= options.hash.pages; i++){
if(i === options.hash.current){
output += `<li class="page-item active"><a class="page-link">${i}</a></li>`;
}else{
output += `<li class="page-item"><a href="?page=${i}" class="page-link">${i}</a></li>`;
}
if(i === Number(options.hash.current) + 4 && i < options.hash.pages){
output += `<li class="page-item disabled"><a class="page-link">....</a></li>`;
}
}
if(options.hash.current === options.hash.pages){
output += `<li class="page-item disabled"><a class="page-link">L</a></li>`;
}else{
output += `<li class="page-item"><a href="?page=${options.hash.pages}" class="page-link">L</a></li>`;
}
return output;
}
нумерация страниц
<div class="container">
<nav aria-label="Page navigation example">
<ul class="flex-wrap pagination">
{{#paginate current=current pages=pages}}{{/paginate}}
</ul>
</nav>
</div>