我正在尝试实现服务器端分页,这就是为什么我使用Pagination-v2
插件从MongoDB服务器获取数据并将其追加到数据表中的原因,但是现在的问题是,在获取数据之后。搜索选项是我没有尝试使用插件Populate方法,但仍然无法正常工作。请帮助我解决此搜索问题。
NodeJS代码。
app.get('/gettable',(req,res)=>{
console.log(req.query);
user.paginate({},{
page:Math.ceil(req.query.start / req.query.length) + 1,
limit:parseInt(req.query.length),
populate:{
match:{
name:'Graiden Waller'
}
}
},function(err,result){
console.log(result);
var mytable = {
draw:req.query.draw,
recordsTotal:0,
recordsFiltered:0,
data:[],
}
if(err) {
console.log(err);
res.json(mytable);
} else {
if(result.totalDocs > 0) {
mytable.recordsTotal = result.totalDocs;
mytable.recordsFiltered = result.totalDocs;
for(var key in result.docs) {
mytable.data.push([
result.docs[key]['name'],
result.docs[key]['lastname'],
result.docs[key]['email'],
result.docs[key]['pass'],
result.docs[key]['birthdate'],
result.docs[key]['zipcode'],
result.docs[key]['phonenumber'],
]);
}
}
res.json(mytable);
}
}); });
按照我的逻辑,它应该向我显示与名称“ Graiden Waller”相关的数据,但其给计数功能出错。请建议我以其他任何方式在数据表中进行搜索,或者建议我任何其他插件来执行此操作。谢谢 当前的插件github存储库为Mongoose-pagination-v2
答案 0 :(得分:1)
你可以试试吗?
...
user.paginate({
name:'Graiden Waller'
},{
page:Math.ceil(req.query.start / req.query.length) + 1,
limit:parseInt(req.query.length)
},
...