Si je vous comprends bien, je ferais cela dans l'autre sens.
Version courte
- J'obtiendrais l'
id
à partir de l'URL - Ensuite, je tirerais de la base de données les données associées à cet
id
- Et utilisez ces données pour créer la page finale.
Vous n'avez pas besoin de créer une nouvelle route pour chaque URL. Une URL peut contenir une variable (ici le id
) et Express peut analyser l'URL afin d'obtenir cette variable. Puis à partir de cet id
vous pouvez obtenir les données nécessaires pour créer la bonne page.
Version longue
Je suppose que quelqu'un tape cette URL :http://domain.com/1234
.
Je suppose également que vous avez une variable titles
qui est une collection MongoDB.
Vous pouvez définir un itinéraire comme ceci :
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... */});
});
});
Modifier
J'ai apporté quelques modifications suite aux derniers commentaires...