我对 MySQL 表有一个非常简单的 Knex 查询来查找列的最大值id:
const maxId = await knex('some_table').max('id').first()
Run Code Online (Sandbox Code Playgroud)
但这会返回一个TextRow具有单个、名称奇怪的属性的对象。来自console.log:
TextRow { 'max(`id`)': 99 }
Run Code Online (Sandbox Code Playgroud)
有没有一种简单的方法可以让我获取该值,或者我是否必须使用像这样的对象属性表示法:
const idValue = maxId['max(`id`)']
Run Code Online (Sandbox Code Playgroud)
看来最简单的答案是对结果进行别名,如下所示的第二个示例:
const maxIdQuery = await knex('some_table').max('id as maxId').first()
console.log(maxIdQuery.maxId) // shows the value
Run Code Online (Sandbox Code Playgroud)
替代语法:
const maxIdQuery = await knex('some_table').max('id', { as: 'max_id' })
console.log(maxIdQuery[0]['max_id'])
Run Code Online (Sandbox Code Playgroud)
希望这对将来的人有帮助。
| 归档时间: |
|
| 查看次数: |
5672 次 |
| 最近记录: |