Ако ви разбирам правилно, бих направил това по обратния начин.
Кратка версия
- Ще получа
id
от URL адреса - След това бих изтеглил от базата данни данните, свързани с този
id
- И използвайте тези данни, за да създадете крайната страница.
Не е необходимо да създавате нов маршрут за всеки URL адрес. URL може да съдържа някаква променлива (тук id
) и Express могат да анализират URL адреса, за да получат тази променлива. След това от този id
можете да получите данните, необходими за изграждане на правилната страница.
Дълга версия
Предполагам, че някой въвежда този URL адрес:http://domain.com/1234
.
Предполагам също, че имате променлива titles
което е MongoDB колекция.
Можете да имате дефиниран маршрут по следния начин:
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... */});
});
});
Редактиране
Направих някои промени според последните коментари...