我可以结合这两条Express路线吗?

时间:2014-03-29 01:23:34

标签: node.js express

换句话说,我如何组合路径' /'和' /:id'?

    app.get('/', function(req, res) {
    Text.find().sort( { created_at: -1 } ).limit(10).exec(function (err, texts) { 
        parseTexts(err, texts, req, res);
    });
});

app.get('/:id', function(req, res, next) {
    Text.find( { user: req.params.id } ).sort( { created_at: -1 } ).limit(10).exec(function (err, texts) { 
        parseTexts(err, texts, req, res);
    });
});

1 个答案:

答案 0 :(得分:0)

这样的事情(注意未经测试)

app.get('/:id?', function(req, res) {
    if(req.params.id) {
        Text.find( { user: req.params.id } ).sort( { created_at: -1 } ).limit(10).exec(function (err, texts) { 
            parseTexts(err, texts, req, res);
        });
    }
    else {
        Text.find().sort( { created_at: -1 } ).limit(10).exec(function (err, texts) { 
            parseTexts(err, texts, req, res);
        });
    }
});

可能会重构你的查询......