首页 > 解决方案 > Oracle DB select查询使用nodejs以数组而不是json数组的形式返回数据

问题描述

我的数据库选择结果

{
        "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
            ]
        ]
    }

预期数据

[
    {
        "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
    }
]

我正在使用 nodejs oracledb

有什么方法可以在 json 数组中获取结果还是手动我必须编写 json 数组函数???

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

var oracledb = require('oracledb');
oracledb.outFormat = oracledb.OBJECT;

上面的答案对我有用

标签: javascriptarraysjsonnode.jsoracle

解决方案


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

3.2.14 oracledb.outFormat

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

这可以是 Oracledb 常量 oracledb.ARRAY 或 oracledb.OBJECT。默认值为 oracledb.ARRAY,效率更高。

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

var oracledb = require('oracledb');
oracledb.outFormat = oracledb.ARRAY;

推荐阅读