【发布时间】:2020-08-13 02:30:44
【问题描述】:
我想在不使用两个查询的情况下进行此搜索:
app.db('users').where({
id: req.userData.id
}).first().then(result => {
if (!result) {
throw new CompleteError('Usuário não encontrado.', 404)
}
app.db('addresses').where({
id: result.address_id
}).first().then(address_result => {
if (address_result) {
result.address = address_result
res.json(result)
} else {
throw new CompleteError('Falha ao buscar endereço do usuário.', 500)
}
}).catch(e => {
return next(e)
})
}).catch(e => {
return next(e)
})
如果其中一个搜索失败或没有找到任何寄存器,搜索进度将停止并抛出错误。数据库是postgresql。如果此方法没有任何替代方法,请帮助如何改进此代码,我是初学者,我需要您的选择。请,对不起我的英语。
结果一定是这样的:
{
"id": 21,
"name": "Sérgio",
"cpf": "11111111111",
"email": "sergio11@gmail.com",
"pass": "$2a$10$Jx7wAd3QSMFlkXi3g0eVOOoW8o65OgDZVQ7wTWuxquytVhUhrUf/.",
"phone": "5544313113131",
"last_access": "2020-08-11T10:14:20.207Z",
"created_at": "2020-08-11T10:14:20.207Z",
"deleted_at": null,
"address_id": 21,
"address": {
"id": 21,
"street": "Street Manu",
"number": "851",
"complement": "A",
"city": "Mari Hill",
"state": "Para",
"country": "Brazil",
"last_access": "2020-08-11T10:14:19.837Z",
"created_at": "2020-08-11T10:14:19.837Z",
"deleted_at": null
}
}
【问题讨论】:
标签: node.js postgresql knex.js