Oracle DB select查询使用nodejs以数组形式而不是json数组返回数据

Rat*_*mar 1 javascript arrays oracle json node.js

我的数据库选择结果

{
        "metaData": [
            {
                "name": "CUSTOMERID"
            },
            {
                "name": "NAME"
            },
            {
                "name": "EMAILID"
            },
            {
                "name": "PHONE_NUMBER"
            },
            {
                "name": "CREATED_AT"
            },
            {
                "name": "ACC_STATUS"
            }
        ],
        "rows": [
            [
                "62c697be-b0b8-4f90-a014-149c1c175303",
                "ratan uday kumar",
                "uday@evontex.com",
                "+91781891",
                "2018-06-04T10:20:55.505Z",
                0
            ]
        ]
    }
Run Code Online (Sandbox Code Playgroud)

预期数据

[
    {
        "CUSTOMERID": "62c697be-b0b8-4f90-a014-149c1c175303",
        "NAME": "ratan uday kumar",
        "EMAILID": "uday@evontex.com",
        "PHONE_NUMBER": "+91781891",
        "CREATED_AT": "2018-06-04T10:20:55.505Z",
        "ACC_STATUS": 0
    }
]
Run Code Online (Sandbox Code Playgroud)

我正在使用nodejs oracledb

有没有什么方法可以在 json 数组中获取结果或者手动执行我必须编写 json 数组函数???

答案是通过设置 @torsten链接提供的对象响应的输出格式

var oracledb = require('oracledb');
oracledb.outFormat = oracledb.OBJECT;
Run Code Online (Sandbox Code Playgroud)

上面的答案对我有用

Tor*_*ink 5

您最有可能寻找“oracledb.outFormat”。检查此功能的文档。

3.2.14 oracledb.outFormat

使用connection.execute() 或connection.queryStream() 时获取的查询行的格式。
它会影响 ResultSet 和非 ResultSet 查询。
它可用于顶级查询和 REF CURSOR 输出。

这可以是 Oracledb 常量 oracledb.OUT_FORMAT_ARRAY 或 oracledb.OUT_FORMAT_OBJECT。默认值是oracledb.OUT_FORMAT_ARRAY,效率更高。旧的等效常量 oracledb.ARRAY 和 oracledb.OBJECT 已弃用。

只需添加一行就应该有帮助:

var oracledb = require('oracledb');
oracledb.outFormat = oracledb.OUT_FORMAT_OBJECT;
Run Code Online (Sandbox Code Playgroud)