我正在尝试使用 userId 作为参数为特定用户创建和获取测验

I'm trying to create and fetch quizzes for a particular user using userId as parameters

我正在尝试使用 NodeJs 在路由器中创建和获取测验,但它一直在获取每个用户的测验,而不仅仅是登录的用户

const prefix = "/:userId/quizzes";

router.get(`${prefix}/my-quizzes`, userAuth, async (req, res) => {
  try {
    const quizes = await Quiz.find().populate({
      path: "category",
      select: ["name"],
    });

    res.send(quizes);
  } catch (error) {
    return res.status(404).json({
      message: "Can't fetch quizes !",
      success: false,
    });
  }
});

您需要在 find

中过滤您的 collection

类似

Quiz.find({"userId": userId})

您只需使用取自 req.param 的正确 userId 添加查询,如下所示:

await Quiz.find({userId: req.param.userId})