如何获取从 Knex 返回的值(数组中的对象,即数组中的对象)

Posted

技术标签:

【中文标题】如何获取从 Knex 返回的值(数组中的对象,即数组中的对象)【英文标题】:How to get the Value Returned From Knex (Object in an Array thats in an Array) 【发布时间】:2017-07-09 21:58:35 【问题描述】:

我正在使用以 .then(aTotal) 结尾的 knex.raw 查询来获取与查询匹配的特定字段的计数。

knex.raw('This is my query').then((aTotal) => 
   console.log(aTotal) )

控制台输出显示如下:

[ [ RowDataPacket  aTeamCount: 4  ],
  [ FieldPacket 
    catalog: 'def',
    db: '',
    table: '',
    orgTable: '',
    name: 'aTeamCount',
    orgName: '',
    .
    .
    .a few more items  ] ]

我正在尝试从aTeamCount 中“提取”4 的值。在我看来,有一个由 2 个对象组成的数组。我不确定如何深入研究这种安排,以便resolve(4)

【问题讨论】:

你试过aTotal.toJSON() 吗? 您应该完全避免进行raw 查询,以便能够从服务器获得较少冗长的响应。如果您在此处添加您的查询,那么有人可能会帮助您找出更好的方法。 【参考方案1】:

我想有时只是详细地写出一个问题可以使问题更加清晰。

答案:

console.log(aTotal[0][0].aTeamCount)

返回我正在寻找的值 (4)

【讨论】:

以上是关于如何获取从 Knex 返回的值(数组中的对象,即数组中的对象)的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Javascript 中的对象列表中获取键的值?

如何从 JavaScript 中的对象数组中获取不同的值?

如何从 PostgreSQL 中的 JSONB 数组中获取特定对象的值?

从数组中的所有对象中获取特定键的值

在SQL中如何从数组中获取值再进行查询

从函数中获取返回值的麻烦