javascript - 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;
上面的答案对我有用
解决方案
您很可能在寻找“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;
推荐阅读
- input - 如何处理从右到左的一行输入?
- flutter - 调用 Navigator.popUntil() 时出现黑屏
- ruby-on-rails - Ruby on Rails 数据库外键关系
- micronaut - 流文件阻塞事件循环?
- node.js - 如何使用 Docker 在 React、Typescript 中连接到 MongoDB
- javascript - 如何在另一个 html 页面中预览表单?
- r - 在 R 中,强制 x 轴刻度标记我的 ggplot (geom_col) 中的每个 bin
- r - 与 rLGCP 模拟和点过程模型拟合相关的一些问题
- rust - `错误:无法为`openssl-sys v0.9.67`运行自定义构建命令
- java - 行为主题 onnext on next on different thread