昨天在写我的项目时,利用 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
了,对应的就是总条数的值。