Express js 路由 - 重叠参数

Express js routes - overlapping params

我有一个名为 date 的路线,我在其中列出了输入日期的所有帖子。 即:/date/26-12-2015

然后我实现了基本的分页,所以我不会一次显示所有数据。即:/date/26-12-2015/2 第二页

现在一切正常了,但我想添加一个路由,用 /date/26-12-2015/count 计算当天的所有文章,但该路由认为它是一个页面参数。

最好的选择是什么?如果页面参数包含 'count',我是否过滤该页面参数?或者路由此参数的首选方式是什么?

这是我的代码:

router.get('/:date/:page', function(req, res){

    var db = req.db;
    var collection = db.get('collectionXYZ');

    collection.find([...], function(e, docs){
        res.json(docs);
    });
});

// this gets skipped  (because it thinks it's a parameter to the page route?)
router.get('/:date/count', function(req, res){
    var dateStart = new Date(req.params.date);

    var db = req.db;
    var collection = db.get('collectionXYZ');

    collection.count([...], function(e, docs){
        res.json(docs);
    });
});

将静态路由放在最前面,/:id 将匹配所有内容。