Si te entiendo bien, lo haría al revés.
Versión corta
- Obtendría el
id
de la URL - Entonces sacaría de la base de datos los datos asociados con este
id
- Y use estos datos para crear la página final.
No necesita crear una nueva ruta para cada URL. Una URL puede contener alguna variable (aquí el id
) y Express puede analizar la URL para obtener esta variable. Luego, desde este id
puede obtener los datos necesarios para crear la página adecuada.
Versión larga
Suponiendo que alguien escriba esta URL:http://domain.com/1234
.
También asumo que tiene una variable titles
que es una colección de MongoDB.
Puedes tener una ruta definida así:
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
Hice algunos cambios según los últimos comentarios...