Node.js+;Postgres多重查询和json对象
我有那些桌子: 汽车[idcar,名称,品牌,颜色] 可选[idoptional,idcar,name] 我需要执行此树查询并返回如下对象:Node.js+;Postgres多重查询和json对象,node.js,postgresql,Node.js,Postgresql,我有那些桌子: 汽车[idcar,名称,品牌,颜色] 可选[idoptional,idcar,name] 我需要执行此树查询并返回如下对象: [ { idcar: '1', name: 'ASTRA', surname: 'OPEL', color: 'red', optional : [ { idoptional: '12', name: 'LED Lights' }, {idoptional: '13', name: 're
[
{ idcar: '1',
name: 'ASTRA',
surname: 'OPEL',
color: 'red',
optional : [
{ idoptional: '12', name: 'LED Lights' }, {idoptional: '13', name: 'retrocamera'}
]
},
{ idcar: '2',
name: 'FIAT',
surname: 'PUNTO',
color: 'white',
optional : [
{ idoptional: '16', name: 'SportPack' }, {idoptional: '13', name: 'retrocamera'}
]
}
]
我有以下代码:
const getCars = (request, response) => {
pool.query('SELECT * FROM cars', (error, results) => {
if (error) {
throw error
}
response.status(200).json(results.rows)
})
}
及
但我有两个分开的json。。。我只需要一个对象(Postgres 9.4+解决方案)
看起来你需要的是
下面是一个工作示例:i’s postgres 9.0:(在这种情况下,您最好的选择可能是执行以下操作,然后在节点中迭代结果(可能使用
reduce
),以创建所需的最终数组
const getOptionals = (request, response) => {
const id = parseInt(request.params.id)
pool.query('SELECT * FROM optionals WHERE idcar= $1', [id], (error, results) => {
if (error) {
throw error
}
response.status(200).json(results.rows)
})
}