获取前 k 个搜索对象失败(REST API 猫鼬)

Get top k searched objects fails (REST API mongoose)

我设置了猫鼬模型,并希望根据其中一个字段“numberOfSearched”获得前 k 个搜索对象。当我将一个数字传递给 limit 函数时,它工作得很好。但我希望它是动态的,它 return 是基于端点参数中指示的值的多个对象,但是当我用“req.params.number”。任何抽查将不胜感激!先谢谢了

对象,.route.js

// Getting top k
router.get("/top-k/:number", async (req, res) => {
  Word.find({})
    .sort({ numberOfSearched: -1 })
    .limit(req.params.number)
    .exec(function (err, docs) {
      if (err) {
        return res.status(500).send({ message: err.message });
      } else {
        res.status(200).send(docs);
      }
    });
});

您只需在 req.params.number 之前添加 + 加号,无论您传递给 url 什么,它都将被视为字符串使用 +req.params.number 或 parseInt(req.params.number)