猿记录

一个记录、分享的博客

您的位置:主页 > 技术专栏 > node >

nodejs 排序、区间、分页的简单例子

2018-01-18 17:35:51 作者:yxl 次阅读 node

今天刚好做到一个商品分页、排序和价格区间帅选的功能:
下面是一个商品类,具体实现,参考代码

class GoodsController{
static async goodlist(ctx,next){
//获取get 参数 ctx.query
let {page,pageSize,sort,priceLevel} = ctx.query
pageSize = +pageSize;
page = +page
if(!page || !pageSize){
ctx.body = {
status:'1',
msg:'err'
}
}
//数据条数
let skip = ( page -1 ) * pageSize
let priceGt = '', priceLte = ''
let params = {}
if(priceLevel != '-1'){
switch(priceLevel){
case '0':priceGt = 0;priceLte=100;break;
case '1':priceGt = 100;priceLte=500;break;
case '2':priceGt = 500;priceLte=1000;break;
case '3':priceGt = 1000;priceLte=2000;break;
 
}
params = {
//区间查询 >priceGt <= priceLte
salePrice:{
$gt:priceGt,
$lte:priceLte
}
}
}
//分页 根据价格排序
let goodModel = await Good.find(params).skip(skip).limit(pageSize).sort({'salePrice':sort});
if(!goodModel){
ctx.body = {
status:'1',
msg:'err'
}
}else{
ctx.body = {
status:'0',
msg:'ok',
result:{
count:goodModel.length,
list:goodModel
}
}
}
 
 
}
 
 
}

凡本站注明“本站”或“投稿”的所有文章,版权均属于本站或投稿人,未经本站授权不得转载、摘编或利用其它方式使用上述作品。

编辑:yxl 关键词: node
0

网友评论