Se entendi bem, faria o contrário.
Versão curta
- Eu obteria o
id
do URL - Então eu extrairia do banco de dados os dados associados a este
id
- E use esses dados para criar a página final.
Você não precisa criar uma nova rota para cada URL. Um URL pode conter alguma variável (aqui o
id
) e o Express pode analisar a URL para obter essa variável. Então, a partir deste id
você pode obter os dados necessários para construir a página adequada. Versão longa
Suponho que alguém digite este URL:
http://domain.com/1234
.Eu também suponho que você tenha uma variável
titles
que é uma coleção do MongoDB. Você pode ter uma rota definida assim:
app.get('/:id', function(req, res) {
// Then you can use the value of the id with req.params.id
// So you use it to get the data from your database:
return titles.findOne({ id: req.params.id }, function (err, post) {
if (err) { throw(err); }
return res.render('titles', {title: post.title, url: post.URL /*, other data you need... */});
});
});
Editar
Fiz algumas alterações de acordo com os últimos comentários...