Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何更改节点Postgressql查询的输出格式_Javascript_Node.js_Postgresql - Fatal编程技术网

Javascript 如何更改节点Postgressql查询的输出格式

Javascript 如何更改节点Postgressql查询的输出格式,javascript,node.js,postgresql,Javascript,Node.js,Postgresql,我正在编写一个程序,使用node.js查询Postgresql数据库。我从数据库中得到了正确的查询。我只是对输出的格式有问题。我需要将结果发送到另一个函数 我使用Postgresql和nodejs查询数据库,结果显示为{model:'Antonov An-148(241 nmi)}。我希望Antonov An-148(241 nmi)作为结果并发送到setValue函数 我是否应该以不同的方式查询数据库,因为我有其他查询要发送到其他函数进行计算 client.connect() .the

我正在编写一个程序,使用node.js查询Postgresql数据库。我从数据库中得到了正确的查询。我只是对输出的格式有问题。我需要将结果发送到另一个函数

我使用Postgresql和nodejs查询数据库,结果显示为
{model:'Antonov An-148(241 nmi)}
。我希望
Antonov An-148(241 nmi)
作为结果并发送到
setValue
函数

我是否应该以不同的方式查询数据库,因为我有其他查询要发送到其他函数进行计算

client.connect()
    .then(() => console.log("Connected successfuly"))
    .then(() => client.query("select model from \"aircraftModels\" where model = $1", ["Antonov An-148 (241 nmi)"]))
    .then (results => setValue(results.rows))
    .catch(e => console.log(e))
    .finally(() => client.end())

function setValue(value){
    console.log(value);
}
实际结果:
{型号:'Antonov An-148(241 nmi)}


预期结果:
Antonov An-148(241 nmi)

如果它作为json字符串返回,您将执行以下操作

使用JSON.Parse(value)解析字符串,然后可以对其调用.model

const value = JSON.parse(value);
console.log(value.model)
但是,您似乎已经获得了一个有效的javascript对象,因此应该能够调用value.model


然而,与您讨论后,您的请求似乎返回了一个数组,这是因为您可能有多个数组。要读取数据库的第一个结果,可以执行
value[0].model

然后记录
值。model
而不是
值。当您需要将JSON解析为对象,然后访问
值时,model
返回为未定义。model
语法错误:JSON中JSON位置1处的意外标记o。parse()在设置值时
获取error@jamo1909抱歉,仔细检查后,它似乎返回了一个已经有效的对象。注销console.log(value,value.model)时会发生什么情况。它不应该以未定义的形式返回您确定您没有输入错误吗?
[{model:'Antonov An-148(241 nmi)}]未定义的
啊!好了,我的朋友,这是一个阵列!如果调用值[0]。model,您将得到所需的结果。值得注意的是,它返回数组的原因是可能有多个结果从数据库表返回。我会相应地更新我的答案@杰莫1909