Javascript node.js express和mongoose默认为区分大小写的URL

Javascript node.js express和mongoose默认为区分大小写的URL,javascript,node.js,mongodb,express,mongoose,Javascript,Node.js,Mongodb,Express,Mongoose,我正在构建一个node.js/express/mongo+mongoose项目,我对区分大小写的URL有问题。我想去/location/london但是,我从数据库中调用的:name实际上是london 我的routes.js文件如下: app.get('/location/:name', function(req, res) { mongoose.model('locations').find({name: req.params.name}, function(err, locations

我正在构建一个node.js/express/mongo+mongoose项目,我对区分大小写的URL有问题。我想去
/location/london
但是,我从数据库中调用的
:name
实际上是
london

我的routes.js文件如下:

app.get('/location/:name', function(req, res) {
  mongoose.model('locations').find({name: req.params.name}, function(err, locations) {
    res.send(locations);
  })
})
/location/London
将起作用,但
/location/London/
将不起作用

不知道我做错了什么。我只是想和Express打交道。虽然默认情况下,say URL区分大小写

区分大小写路由|布尔|启用区分大小写

残疾人。将“/Foo”和“/Foo”视为相同


您可以传入
req.params.name.toLowerCase()
,而不必传入
req.params.name
。这应该能解决你的问题。
或者,您应该确保路由设置为不区分大小写,并重新启动服务器,以便刷新配置。

我无法使其正常工作,我仍在传递/location/london,它不会返回除london之外的任何内容,因为mongo数据库中就是这样的。目前,我不确定这样做是否正确,但我只是添加了一个slug,这样我就可以使用它,然后转到/location/london,然后在模板的其他地方使用name:london