以对象而不是数组的形式返回MySQL数据(Knex)

时间:2018-10-05 10:54:04

标签: mysql knex.js

是否有一种方法可以获取MySQL查询的输出以列出以下结构中的行

{
    1:{voo:bar,doo:dar},
    2:{voo:mar,doo:har}
}

相对于

[
    {id:1,voo:bar,doo:dar},
    {id:2,voo:mar,doo:har}
]

然后我必须循环遍历以创建所需的对象?

我应该补充一点,在每一行中,我还要将结果串联起来以形成一个对象,根据我的实验,不能在group_concatenation内进行group_concatenate。如下:

knex('table').select(
    'table.id',
    'table.name',
    knex.raw(
        `CONCAT("{", GROUP_CONCAT(DISTINCT
        '"',table.voo,'"',':','"',table.doo,'"'),
        "}") AS object`
    )
.groupBy('table.id')

可以通过任何方式利用GROUP BY实现这一目标吗?通常,我对SQL不熟悉,不知道有什么可能,什么没有。

0 个答案:

没有答案