mysql - 如何使用 max 从 Knex 查询中获取值?
问题描述
我对 MySQL 表有一个非常简单的 Knex 查询来查找列的最大值id
:
const maxId = await knex('some_table').max('id').first()
但这会返回一个TextRow
对象,该对象具有一个名称奇怪的属性。从一个console.log
:
TextRow { 'max(`id`)': 99 }
有没有一种简单的方法可以让我获得价值,或者我必须像这样使用对象属性表示法:
const idValue = maxId['max(`id`)']
解决方案
似乎最简单的答案是给结果加上别名,如此处显示的第二个示例所示:
const maxIdQuery = await knex('some_table').max('id as maxId').first()
console.log(maxIdQuery.maxId) // shows the value
希望这对将来的某人有所帮助。
推荐阅读
- javascript - 我可以只用一个字符串访问一些嵌套对象中的值吗?
- ios - 使用 ALCameraViewController 加载图像后角半径丢失
- git - 为什么超过 1 个提交被压缩?
- spring-boot - Spring boot h2 单元测试设置运行导入脚本两次
- c# - 使用参数创建运行自定义 EXE 文件的进程
- ruby-on-rails - Ruby on Rails - 回形针 - 限制上传的图像数量
- html - 将对象下方的元素与上方的元素对齐
- vb.net - 使用 BindingSource 按多列分组不起作用
- c# - OpenTK CreatePerspective 矩阵行为不正确
- asp.net-core - 如何在 Visual Studio 2017 中重命名 IIS Express 站点?