Se entendi bem, faria o contrário.
Versão curta
- Eu obteria o
iddo 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:
https://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...