Nếu tôi hiểu bạn đúng, tôi sẽ làm theo cách khác.
Phiên bản ngắn
- Tôi sẽ nhận được
id
từ URL - Sau đó, tôi sẽ lấy từ cơ sở dữ liệu dữ liệu được liên kết với
id
này - Và sử dụng dữ liệu này để tạo trang cuối cùng.
Bạn không cần phải tạo một tuyến đường mới cho mỗi URL. Một URL có thể chứa một số biến (ở đây là id
) và Express có thể phân tích cú pháp URL để lấy biến này. Sau đó từ id
này bạn có thể nhận được dữ liệu cần thiết để tạo trang thích hợp.
Phiên bản dài
Tôi giả sử ai đó nhập URL này:http://domain.com/1234
.
Tôi cũng giả sử rằng bạn có một biến titles
là Bộ sưu tập MongoDB.
Bạn có thể có một tuyến đường được xác định như sau:
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... */});
});
});
Chỉnh sửa
Tôi đã thực hiện một số thay đổi theo nhận xét cuối cùng ...