MySQL 查询 returns 在 NodeJS 端点只查询一行而不是所有行?

MySQL Query returns Just One Row instead of All Rows at NodeJS Endpoint?

我有这个 NodeJS 端点,它应该从 MySQL 数据库中获取对 post 编号 201 的所有回复。

 http://mysite:3000/getreplies/201

这是创建端点的 NodeJS 代码;

app.get("/getreplies/:repliesId", audioposts.findReplies);

exports.findReplies = (req, res) => {
  Audiopost.findByOpId(req.params.repliesId, (err, data) => {
    if (err) {
      if (err.kind === "not_found") {
        res.status(404).send({
          message: `Not found Replies with id ${req.params.repliesId}.`
        });
      } else {
        res.status(500).send({
          message: "Error retrieving Audiopost with id " + req.params.audiopostId
        });
      }
    } else res.send(data);
  });
};

这是 MySQL select 查询;

Audiopost.findByOpId = (repliesId, result) => {
  sql.query(`  
   SELECT
    ap.audioname, 
    ap.userid, 
    ap.audioid, 
    ap.title, 
    ap.likes,
    ap.opid,    
    u.gavatar, 
    u.name, 
    u.email,
       (
        SELECT GROUP_CONCAT(t.tagname)
        FROM entitytag et
        LEFT JOIN tags t on t.tagid = et.tagid
        WHERE et.audioid = ap.audioid
    ) tagname,
    (
      select count(*) from audioposts AS apost WHERE apost.opid = ap.audioid
    ) as replycount
FROM audioposts ap 
LEFT JOIN users u ON u.id = ap.userid
WHERE ap.opid = ${repliesId}  
  `, (err, res) => {
    if (err) {
      console.log("error: ", err);
      result(err, null);
      return;
    }

    if (res.length) {
      console.log("found audiopost: ", res[0]);
      result(null, res[0]);
      return;
    }
      result({ kind: "not_found" }, null);
  });
};

查询本身似乎没问题。但为什么端点返回的只是第一个 MySQL 行而不是所有行?

    Audiopost.findByOpId = (repliesId, result) => {
  sql.query(`  
   SELECT
    ap.audioname, 
    ap.userid, 
    ap.audioid, 
    ap.title, 
    ap.likes,
    ap.opid,    
    u.gavatar, 
    u.name, 
    u.email,
       (
        SELECT GROUP_CONCAT(t.tagname)
        FROM entitytag et
        LEFT JOIN tags t on t.tagid = et.tagid
        WHERE et.audioid = ap.audioid
    ) tagname,
    (
      select count(*) from audioposts AS apost WHERE apost.opid = ap.audioid
    ) as replycount
FROM audioposts ap 
LEFT JOIN users u ON u.id = ap.userid
WHERE ap.opid = ${repliesId}  
  `, (err, res) => {
    if (err) {
      console.log("error: ", err);
      result(err, null);
      return;
    }

    if (res.length) {
     
      result(null, res);
      return;
    }
      result({ kind: "not_found" }, null);
  });
};