【问题标题】:I'm trying to create and fetch quizzes for a particular user using userId as parameters我正在尝试使用 userId 作为参数为特定用户创建和获取测验
【发布时间】:2021-11-10 20:06:39
【问题描述】:

我正在尝试使用 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,
    });
  }
});

【问题讨论】:

    标签: javascript node.js mongodb mongoose mongoose-schema


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      您需要在find 中过滤您的收藏

      类似

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

      【讨论】:

      • 现在它不断捕获 404 错误消息。
      • 暂时删除您的 try/catch 以查看您的错误消息
      猜你喜欢
      • 1970-01-01
      • 2023-04-01
      • 2022-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多