猫鼬发现和分页

时间:2017-01-24 11:56:27

标签: node.js mongodb

// Routes
apiRouter.get('/information/common/:typeId/:page/:pageSize', function (req, res) {
    var _typeId = parseInt(req.params.typeId);
    var _page = parseInt(req.params.page);
    var _pageSize = parseInt(req.params.pageSize);

    newsModel.count({}, function (err, count) {
        if (err) { res.send(err); };
        newsModel.find({}).skip((_page-1)*_pageSize).limit(_pageSize).exec(function (err, datas) {
            if (err) { res.send(err); };
            res.json({
                code: 200,
                message: 'success',
                data: datas,
                count: count
            });
        });
    });
});

module.exports = apiRouter;

上面的代码,我希望可以按typeId进行过滤。 typeId 0123,当它等于0时,从db获取所有数据,当等于{时{1}},12,它会获得它的类型。 :P

1 个答案:

答案 0 :(得分:0)

创建一个额外的查询对象,您可以根据typeId值填充键。例如:

// Routes
apiRouter.get('/information/common/:typeId/:page/:pageSize', function (req, res) {
    var _typeId = parseInt(req.params.typeId);
    var _page = parseInt(req.params.page);
    var _pageSize = parseInt(req.params.pageSize);
    var _query = {};

    if (!!_typeId) _query["typeId"] = _typeId;

    newsModel.count(_query, function (err, count) {
        if (err) { res.send(err); };
        newsModel.find(_query).skip((_page-1)*_pageSize).limit(_pageSize).exec(function (err, datas) {
            if (err) { res.send(err); };
            res.json({
                code: 200,
                message: 'success',
                data: datas,
                count: count
            });
        });
    });
});

module.exports = apiRouter;