繁体   English   中英

Express.js - 在 URL 中过滤 mongodb id

[英]Express.js - Filter a mongodb id in the URL

这个问题的灵感来自这篇文章,但就我而言,我需要过滤 MongoId。 是否可以轻松地进行过滤,因为我需要在每条路线中使用它?

app.post('/:mongoId(^[0-9a-fA-F]{24}$)', function(req, res){
   // Send query based on mongoId
}

你快到了,只是不要添加^$锚点。 而且大写的AF范围甚至不是必需的,因为 Express 似乎匹配不区分大小写:

app.post('/:mongoId([0-9a-f]{24})', function(req, res){
  var id = req.param('mongoId');
  ...
});

根据Express API 文档,是的,您可以使用正则表达式作为路径:

也可以使用正则表达式,如果您有非常具体的限制,它会很有用。

app.get(/^\/commits\/(\w+)(?:\.\.(\w+))?$/, function(req, res){
  var from = req.params[0];
  var to = req.params[1] || 'HEAD';
  res.send('commit range ' + from + '..' + to);
}); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM