mysql - 更改 Knex rawquery 的输出

标签 mysql node.js knex.js

我被迫对 Knex 使用原始查询,因为 union 存在问题。

一个查询,还不错。但现在我有其他类型的问题。

所有其他 Knex 查询(非原始查询),它们只是返回一个包含结果的数组

例如:

knex('user_subscription_plan')
        .select('*')
        .where('paused_days', '>', 91)
        .where('status', 'N_PAUSED')

将返回一个数组,空的没有结果。

但是,如果我运行原始查询,例如:

mySqlClient.raw('select * from user')

它将返回一个数组,其中包含两个数组。 第一个是正常结果,另一个包含一些目录定义。

这干扰了我的逻辑。在每次调用 knex 结束时,我有:

if (result.length > 0) {
   // send email
}

现在,当我运行原始查询时,结果始终大于零。 我如何告诉 Knex 不要发送目录定义,换句话说,只是将结果发送回来,就像它在非原始查询上所做的那样?

最佳答案

根据https://github.com/knex/knex/issues/1802没有办法解决这个问题,只能这样做

mySqlClient.raw('select * from user')[0]

关于mysql - 更改 Knex rawquery 的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60284507/

相关文章:

mysql - 小部件驱动站点的数据库架构建议

mysql - 在 Ubuntu 14 上安装 mysql2 gem 失败

javascript - 如何理解session和flash?

javascript - 如何在 TypeScript 中正确导出和导入模块

node.js - Knex : Timeout acquiring a connection

javascript - 当 knex 使用 async/await 抛出错误时结束响应

php - 如何按级别属性渲染每行的金字塔?

php - 概念 - 组织数据库

javascript - Ajax 不向同一端口上的本地主机发送请求

javascript - 如何使用 knex 查询对