问题标签 [pg-promise]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1053 浏览

javascript - 参数化/准备好的语句使用 pg-promise

我正在koa v2使用pg-promise. 我尝试SELECT 2 + 2;在 Parameterized/Prepared Statement 中做一个简单的测试来测试我的设置:

在模板中呈现[Object Object]并将其从以下位置返回到控制台pg-monitor

我的问题:

我想将结果存储4ctx.state. 我不知道我怎样才能在里面访问它[ anonymous { '?column?': 4 } ]

谢谢您的帮助!

编辑:

我在官方 wiki 中找到了另一种推荐的(1) 方式(2)来处理命名参数。

我将any对象更改为result,它返回原始文本。比我4像 javascript 对象一样访问数字。难道我做错了什么?还有其他方法可以访问此值吗?

推荐的、更快、更安全的使用方法是什么?

0 投票
1 回答
280 浏览

node.js - pg-promise UTF 连接字符串

pg-promise 不理解 UTF 密码?.. 我无法使用它们。在 linux 和 osx 上尝试过,postgres 9.3、9.5 - 似乎并不特定于版本。看了看代码。pg-promise 使用pg,它使用基于 back pg构建的pg-connect-string。找不到问题的根源。请帮忙。

重现代码:

返回:

使用相同的连接字符串psql

使用相同的连接字符串故意尝试错误的密码:

0 投票
1 回答
1183 浏览

javascript - 如何结束“pg-promise”应用程序

我正在尝试编写一个 REST API,它基于请求有效负载选择一个数据库并执行某些操作。

根据文档,我在操作结束时释放共享连接对象,并通过结束 pgp 应用程序来完成它。

尽管如此,从第二次 API 调用(到同一个数据库)开始,我仍然收到以下错误:

有人可以帮我解决以下任何一个问题

  • 在后续调用中重用 pgp 连接对象
  • 在每次通话结束时正确终止应用程序

谢谢

0 投票
1 回答
97 浏览

node.js - 如何从函数返回我的数据?

我编写了一个小型数据库函数,它从数据库中获取一些数据并将其放入我想要的格式,但是我在返回数据以使用 Express 显示它时遇到了困难。数据库功能如下:

调用它的路由器函数是这样的:

我认为路由器功能正在无限期地等待数据,因为我没有收到任何错误,但页面永远不会加载。我究竟做错了什么?

0 投票
1 回答
227 浏览

node.js - 使我的数据库查询与我的基于承诺的函数同步

如何使我的数据库查询与我的 Promise 基本函数同步?在我的代码中,我在 3 个不同的函数中运行 3 个 db 操作,这些函数需要按顺序运行,例如瀑布模型。这些函数在瀑布模型中运行,但这些函数中的数据库查询是异步工作的。我需要在这些函数中同步运行数据库查询。

在此示例中,我期望在控制台中:

但我越来越

代码:

0 投票
2 回答
1874 浏览

javascript - PG Promise 未正确返回“带时区的时间戳”字段

我正在使用pg-promise lib 来处理 Postgres DB。我不明白为什么直接查询数据库

返回

这个 pgp 调用:

返回

我期望的是

0 投票
2 回答
1638 浏览

node.js - 带有 pg-promise 的嵌套事务

我正在使用 NodeJS、PostgreSQL 和令人惊叹的pg-promise库。就我而言,我想执行三个主要查询:

  1. 在“tweets”表中插入一条推文。
  2. 如果推文中有主题标签,请将它们插入另一个表“主题标签”
  3. 他们在第三个表“hashtagmap”(多对多关系表)中链接推文和主题标签

以下是请求正文 (JSON) 的示例:

除了主题标签之外,上述所有字段都应包含在“tweets”表中,而这些字段又应包含在“hashtags”表中。

这是我基于 NodeJS 模块内的 pg-promise 文档中的嵌套事务使用的代码。我想我需要嵌套事务,因为我需要知道这两者tweet_id并且hashtag_id为了将它们链接到 hashtagmap 表中。

问题在于这段代码我能够成功插入推文,但没有任何反应。我无法插入主题标签,也无法将主题标签链接到推文。

对不起,但我是编码新手,所以我想我不明白如何从交易中正确返回以及如何执行这个简单的任务。希望您能够帮助我。

先感谢您。

0 投票
0 回答
1446 浏览

node.js - Postgresql [ReferenceError: (somevalue) not defined]

这是我使用pg-promise包含 PostgreSql 查询的代码:

Query 将值(如给定的)插入到数据库中,但同时返回errorin catch:

我尝试在 pgAdmin4 中运行相同的查询,并且在那里运行良好。有人可以指出真正的问题是什么吗?

0 投票
1 回答
715 浏览

node.js - 在 pg-promise 中跨多个控制器的多个查询之间共享事务或任务对象

我对 node.js、postgresql、promises 和事实上的 stackoverflow 比较陌生,所以如果事情听起来有点脱节,请提前道歉!

我目前正在尝试在跨各种控制器的链式承诺中运行多个查询。我想在同一个事务或任务中运行所有查询,以消除与数据库的多次连接和断开连接。

我尝试了以下方法,我正在添加一名学生并为该学生分配两名导师。HTTP 请求被路由到学生控制器,该控制器通过学生存储库添加学生。学生存储库是任务开始并返回到控制器的地方,控制器将其转发给导师控制器并沿着链......

学生资料库

导师控制器

角色控制器

在角色控制器中调用 checkEnrollment 时出现以下错误:

任何帮助将非常感激。提前谢谢你。

0 投票
1 回答
3823 浏览

javascript - 如何在 pg-promise 中设置模式

我在创建客户端时专门搜索了pg-promise的文档。但是我找不到设置要在连接中使用的默认模式的选项,它总是使用public模式。我该如何设置?