带有 pg

编程入门 行业动态 更新时间:2024-10-11 19:24:52
本文介绍了带有 pg-promise 的条件任务的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我试图简单地从表中读取一个值,并基于对其他查询的返回值调用并返回组合结果.

I am trying to simply read a value from a table and based on the return value call for additional queries and return the combined results.

举个简单的例子:表 Users 有 id、name 和 emailid假设 emailid 不为空,我们想调用 email 表并返回一个结果,如 { id:[id], name:[name], email:[email]}.

let's take a simple example: table Users has id, name and emailid and let's say if emailid is not null we want to call the email table and return a results like { id:[id], name:[name], email:[email]}.

推荐答案

使用 pg 承诺:

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 });

查看 API:Database.map, Database.one.

另见一个相关问题:获取父子树pg-承诺.

注意:更好的方法是使用带有 INNER JOIN 的单个查询.

NOTE: A better approach would use a single query with INNER JOIN.

更多推荐

带有 pg

本文发布于:2023-10-16 14:22:59,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1497825.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:pg

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!