nodejs+mongodb jsonp接口 实现 分页排序 功能

router.get('/list', function(req, res, next) {
    let callback = req.param('callback'),sort = parseInt(req.param('sort'))?1:-1,priceStart = req.param('priceStart'),priceEnd = req.param('priceEnd'),page = parseInt(req.param('page')),pageSize = parseInt(req.param('pageSize'));
    if(!callback){
        res.status(404).json({
            success:false,
            msg:'非法访问!'
        });
    }
    let where = {$and:[{}]};
    if(priceStart){
        where.$and.push({
                salePrice:{$gte:priceStart}
            });
    }
    if(priceEnd){
        where.$and.push({
            salePrice:{$lte:priceEnd}
        });
    }
    let result = Goods.find(where).skip((page-1)*pageSize).limit(pageSize);
    result.sort({'salePrice':sort});//1 正序 -1 倒序
    result.exec(function(err,doc){
        if(err){
            res.status(500).json({
                success:false,
                msg:err.message
            });
        }else{
           let ret = {success:true,msg:'商品列表查询成功',data:{count:doc.length,list:doc}};
            res.status(200).end(callback+'('+JSON.stringify(ret)+')');
        }
    });

你可能感兴趣的:(nodejs,mongo)