首页 > 解决方案 > 如何使用 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`)']

标签: mysqlknex.js

解决方案


似乎最简单的答案是给结果加上别名,如此处显示的第二个示例所示

const maxIdQuery = await knex('some_table').max('id as maxId').first()
console.log(maxIdQuery.maxId)        // shows the value

希望这对将来的某人有所帮助。


推荐阅读