簡體   English   中英

我如何使用給定的 ID 在 express 中重定向?

[英]how do i redirect in express with a given ID?

此代碼使我的應用程序從我的 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("/play/:postid", (req, res) => {
  try {
    postModel.countDocuments({_id:req.params.postid}).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 });
  }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM