Als ik je goed begrijp, zou ik dat andersom doen.
Korte versie
- Ik zou de
id
. krijgen van de URL - Dan zou ik de gegevens uit de database halen die bij deze
id
horen - En gebruik deze gegevens om de laatste pagina op te bouwen.
U hoeft niet voor elke URL een nieuwe route te maken. Een URL kan een variabele bevatten (hier de id
) en Express kunnen de URL ontleden om deze variabele te krijgen. Dan van deze id
je kunt de gegevens krijgen die nodig zijn om de juiste pagina te bouwen.
Lange versie
Ik neem aan dat iemand deze URL typt:http://domain.com/1234
.
Ik neem ook aan dat je een variabele titles
. hebt wat een MongoDB-verzameling is.
U kunt een route als volgt laten definiëren:
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... */});
});
});
Bewerken
Ik heb enkele wijzigingen aangebracht volgens de laatste opmerkingen...