【发布时间】:2020-05-25 04:15:47
【问题描述】:
这段代码让我的应用从我的 mongoDB 中随机选择一个文档
router.get("/random", (req, res) => {
try {
postModel.countDocuments().exec(function(err, count) {
var random = Math.floor(Math.random() * count);
postModel
.findOne()
.skip(random)
.exec(function(err, randomPost) {
console.log(randomPost);
res.render("play", { randomPost });
});
});
} catch (err) {
res.json({ msg: err });
}
});
我有一个名为 play.ejs 的 ejs 模板,它使用随机选择的文档成功呈现文件。
但我希望它每次都有一个类似 /play/"idOfRandomChosenDocument" 的 URL,而不是 /random。我该怎么做呢?
我是否需要创建router.get("/play/:postid"),如果需要,如何传入随机文档的 id 并成功加载正确的文档对象?
【问题讨论】:
-
使用参数,。
router.get('/random/:id')。并且 req.param 将具有 id。
标签: javascript node.js mongodb express ejs