javascript - 从 db 调用返回对象

标签 javascript mysql node.js asynchronous promise

我执行下面的代码;

 var array = await Promise.all([
    database.query("SELECT COUNT(amount) FROM transactions WHERE date >= now() - INTERVAL 1 DAY;"), 
    database.query("SELECT COUNT(amount) FROM transactions WHERE date >= now() - INTERVAL 7 DAY;"), 
    database.query("SELECT COUNT(amount) FROM transactions"), 
  ]);

我期待这样的数组 [1,2,3];

相反,我得到的是;

[ [ RowDataPacket { 'COUNT(amount)': 6 } ],
  [ RowDataPacket { 'COUNT(amount)': 7 } ],
  [ RowDataPacket { 'COUNT(amount)': 7 } ] ]

我错过了什么?

最佳答案

根据 https://github.com/mysqljs/mysql/issues/1330 ,这是因为它是一个低级库。

您仍然可以使用 [0]['COUNT(amount)'] 等访问数组。如果您只想要数字,您可能也会添加更多逻辑。

关于javascript - 从 db 调用返回对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54058183/

相关文章:

php - 将 MySQL 查询转换为 Laravel 4.2 查询

node.js - 如何使用node.js将redis缓存数据保存到mongodb中

node.js - Express.js通过post方式发送数据获取请求

javascript - 我无法在 heroku 中使用 puppeteer 进行截图

mysql - 从 MySQL 执行命令中转义 strip

javascript - 为什么不推荐使用 var?

javascript - SetInterval不会停止运行

javascript - 使用 jQuery 更改目标属性

javascript - $(opener.document).find ('.target' ).css ('display' ) 无法在资源管理器中工作

mysql - 从 MySQL 表中删除重复值的最佳方法是什么?