带有pg-promise的条件任务

时间:2016-06-29 03:25:40

标签: javascript promise pg-promise

我试图简单地从表中读取一个值,并根据返回值调用其他查询并返回合并的结果。

我们举一个简单的例子: 表格Users包含idnameemailid 并且假设如果emailid不为空,我们想要调用电子邮件表并返回{ id:[id], name:[name], email:[email]}之类的结果。

1 个答案:

答案 0 :(得分:1)

使用pg-promise支持的最新语法:

this.setState(state => {
  return {
    sections: state.sections.concat([obj])
  };
})

请参阅API:Database.mapDatabase.one

另请参阅相关问题:Get a parents + children tree with pg-promise

注意:更好的方法是使用db.task(t => { return t.map('SELECT * FROM Users', [], user => { return user.emailid ? t.one('SELECT * FROM Emails WHERE id = $1', user.emailid, e=> { user.email = e.email; return user; }) : user; }).then(t.batch); }) .then(data => { // success }) .catch(error => { // error }); 的单个查询。