You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现按关联item编号筛选返回对应评论的后端GET请求

问题修复方案

核心问题梳理

  • 报错原因:你的代码中调用了response.json(),但路由回调函数的入参定义为res,response属于未定义变量,直接触发类型错误。
  • 筛选功能失效原因:Review.find({})没有传入筛选条件,且路由参数未和item字段做关联匹配。
  • 关联查询配置错误:Review Schema中用户关联字段为author,你写的populate配置中path字段填的user和实际字段不匹配,会导致关联查询失效。

修正后代码

router.get("/:itemId", async (req, res) => {
  try {
    // 路由参数默认是字符串,转为Number和Schema中item的类型匹配
    const targetItem = Number(req.params.itemId)
    const reviews = await Review.find({ item: targetItem })
      // 关联查询作者用户名,对应Schema的author字段
      .populate("author", "username")
    res.json(reviews.map(review => review.toJSON()))
  } catch (err) {
    // 增加错误处理,避免服务端无响应
    res.status(500).json({ error: err.message })
  }
})

调用说明

你只需要发送GET请求到/{路由前缀}/168,即可返回所有item=168的评论,自动过滤其他item值的内容。


内容的提问来源于stack exchange,提问作者ArcRiseGen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 02:15:03