繁体   English   中英

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

[英]Oracle DB select query returning the data in form of array instead of json array using nodejs

我的数据库 select 结果

{
        "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 package

有什么方法可以在 json 数组中获得结果,或者手动我必须编写 json 数组 function ???

答案是通过设置 Output 格式响应 @torsten链接提供的 object

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

上面的答案对我有用

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

3.2.14 oracledb.outFormat

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

这可以是 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;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM