乐趣区

关于前端:sql查询数据总条数后怎么接收count1或者count的值

昨天在写我的项目时,利用 nodejs 部署的服务器去查询数据库中所有数据的条数时,呈现一个问题,那就是给我返回了一个前端无奈接管的字段。

// sql 语句是这样的
const sql = 'select count(1) from products'

// nodejs 中发送的代码是这样的
res.send({
  status: 200,
  msg: '获取所有数据的条数',
  result
})

当我在前端申请时发现,给我返回的 result 字段中,键居然是count(1),如果去援用的话,JavaScript 代码会主动将其视为函数的调用,所以会间接报错count is not a function,起初去网上查了一下对于这个问题,尽管没间接找到,然而我发现了一个办法(还是对 sql 语句不相熟,看来抽时间要好好学学 sql 语句了),那就是将上边的 sql 语句改为:

const sql = 'select count(1) as result from products'

这样就能够了,将 count(1) 的值存储进 result 中,而后利用 es6 的键值对简写形式就能够获取到了,如果 as 后换成其余变量名,那么发送数据时就应该写成 result: 其余变量名 了,在前端申请并获取到的数据就是一个失常的键名 result 了,对应的就是总条数的值。

退出移动版