【问题标题】:node.js mysql count rows get valuenode.js mysql计数行获取值
【发布时间】:2019-11-29 13:00:23
【问题描述】:

大家好,我正在使用带有 Node.js 和 Mysql 后端的 React-Native 前端, 我正在计算具有特定 id 的行数,查询中的一切都很好,我从查询中获得了值,但我无法使用该值,因为它的形式为 "res_Count":[{"count(*)":2}] 。 函数我想要它的字符串格式。 一旦检查我的查询和结果

router.get('/get_Following_Count/:user_id', (req, res, next) => {
  connection.query("SELECT count(*) FROM followers WHERE followers.follower_id=? ORDER BY id DESC  ", [req.params.user_id], (err, results, fields) => {
    if (!err) {
      // res.send(rows);
      following_Count = JSON.parse(JSON.stringify(results));
      return res.json({ "status": 200, "error": null, "res_Count": following_Count });
    } else {
      console.log(err);
      return res.status(404).send('Sorry user_id does not exits');
    }
  })
});

输出:

{"status":200,"error":null,"res_Count":[{"count(*)":2}]}

请给我任何更改 count(*) 值的建议

【问题讨论】:

    标签: mysql node.js react-native


    【解决方案1】:

    尝试从

    更改您的查询
    "SELECT count(*) FROM followers WHERE followers.follower_id=? ORDER BY id DESC"
    

    "SELECT count(*) as followersCount FROM followers WHERE followers.follower_id=? ORDER BY id DESC"
    

    以及用途,例如

    return res.json({ "status": 200, "error": null, "res_Count": following_Count[0].followersCount });
    

    【讨论】:

      【解决方案2】:

      您可以在 express 的路线内执行此操作

      router.get('/get_Following_Count/:user_id', (req, res, next) => {
        connection.query("SELECT count(*) FROM followers WHERE followers.follower_id=? ORDER BY id DESC  ", [req.params.user_id], (err, results, fields) => {
          if (!err) {
            // res.send(rows);
            // CHANGES 
            following_Count = JSON.parse(JSON.stringify(results))[0];
            -> REPLACE THIS COUNT(FIRST ONE) WITH WHATEVER YOU'D LIKE -> following_Count['count'] = following_Count['count(*)'];
            delete following_Count['count(*)'];
            //END CHANGES
            return res.json({ "status": 200, "error": null, "res_Count": following_Count });
          } else {
            console.log(err);
            return res.status(404).send('Sorry user_id does not exits');
          }
        })
      }
      
      

      输出将是

      {"status":200,"error":null,"res_Count": {"count": 2} }
      

      如果您想要返回数组,只需删除 [0] 并遍历每个元素并应用重命名键的逻辑

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-08-05
        • 1970-01-01
        • 2016-02-15
        • 1970-01-01
        • 2021-11-07
        • 2015-01-25
        • 1970-01-01
        相关资源
        最近更新 更多