问题标签 [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 回答
3618 浏览

javascript - NodeJS 和 pg-promise,捕获 PostgreSQL 异常

我正在使用 PostgreSQL 后端运行 NodeJS 和 pg-promise。我创建了自己的触发器,它在某些情况下会引发异常。在这方面一切正常。

但是使用 pg-promise 我很难捕捉到错误的名称。

使用此代码:

我得到以下输出:

我可以在上下文中看到名称“vote_limit_exceeded”,但是如何以文本字符串的形式返回?

我尝试过“接近”:

但我无法隔离“vote_limit_exceeded”。

0 投票
1 回答
3088 浏览

node.js - 使用 .batch 和 pg-promise 中的参数列表

我正在运行 nodejs 和 pg-promise,并且想使用批处理函数来创建一个包含多个 UPDATE 的 BEGIN 和 COMMIT 的事务。

这是我的代码:

但是,它似乎不起作用,因为没有任何反应。是不是可以为这样的输入创建我的批处理列表?

0 投票
2 回答
416 浏览

javascript - Pg-promise 性能提升:具有多个更新参数的多个插入

我正在按照这里那里的建议实施 Vitaly 的 pg-promise 性能模式。

这是我的代码:

我的问题是 insertData 是一个对象数组,并且库的插入助手使用该数组构建插入请求,如pg-promise API中所指定。而 updateData 必须是一个简单的对象。

我希望在以下情况下:

被触发时,更新值匹配 'insertData' 数组中的相应对象。

我该如何解决这个问题?

我试图将所有内容都放在一个循环中,但它会像疯了一样泄漏内存,而且,我失去了这种模式的好处......

编辑 :

我希望我的查询相当于:

在这种情况下,当调用 Update 时,参数指的是最初建议插入的值。

0 投票
2 回答
36107 浏览

javascript - 使用 pg-promise 进行多行插入

我想用一个INSERT查询插入多行,例如:

有没有办法轻松地做到这一点,最好是这样的对象数组:

我最终可能会在一个数据块中有 500 条记录,因此不希望运行多个查询。

到目前为止,我只能为单个对象做到这一点:

作为一个附带问题:使用${}表示法的插入是否可以防止 SQL 注入?

0 投票
1 回答
605 浏览

javascript - 在连接期间设置 application_name

是否有其他方法可以在pg-promisedb.connect()之后使用和不使用更改 application_name ? SET application_name = 'myapp'

在我们的 API 中,数据库连接是在顶层建立的,并在许多资源之间共享。我们想要覆盖各种资源中的应用程序名称。

谢谢你。

0 投票
2 回答
1804 浏览

javascript - 我应该如何进行异步单元测试?

我正在使用 pg-promise。我是学习者,如果对你来说似乎微不足道,请原谅。我该如何编写单元测试。它错误数据未定义。我一直在 js 文件中建立连接并导出该模块。另一个 js 文件用于查询数据库并获取结果集。代码按预期工作,有问题我如何用 mocha 和 chai 编写单元测试。

test2.js

单元测试.js

我将如何从 unittest.js 中的 test2.js 检索“数据”值

0 投票
2 回答
172 浏览

javascript - 转义 JSON 以避免更改插入字符串

我有以下 json 字符串,应该在单列中直接插入到数据库中:

但是实际上最终在数据库中的是:

删除 d"on't 中的转义 \ 并使字符串无效 json。有什么方法可以避免这种情况吗?

这将是有益的,因为如果我的有效 json 保持不变,那就太好了。

0 投票
3 回答
911 浏览

javascript - 使用 Node.js 从其他文件调用方法

我没有从我的文件中要求方法来./db/index.jsserver.js数据库中选择数据并显示它。

/db/index.js是这样的:

我想从另一个文件中调用它:

我正在使用 Heroku,就像这样,查看日志,终端和 Slack 都没有显示错误(这是一个斜杠命令)。我找不到有关如何正确分离功能的帮助。如何select从不同的文件中调用此方法和任何其他方法?

0 投票
1 回答
779 浏览

javascript - 如何修复 pg-promise 错误“必须指定承诺库。”?

我使用 pg-promise 在 ExpressJS 中创建了一个基本 API,以与我的 PostgreSQL 数据库进行交互。在 Windows 上运行它时,它工作正常。然后我将它移至 Ubuntu 15.04,但当我尝试启动它时出现以下错误:

/node_modules/pg-promise/lib/promise.js:46

throw new TypeError("必须指定 Promise 库。");

0 投票
1 回答
1188 浏览

javascript - 使用 pg-promise 获取父母 + 孩子树

我使用该pg-promisebluebird进行相关查询。我有两个表,a 和 b,看起来像这样:

哪里b.b_a是对 的引用a.a_id。我想选择与给定匹配的所有条目prop1,结果应包含所有匹配a的 -rows 加上b每个对应的 -rows a。这应该可以通过两个相关查询来实现。两个查询都可能返回多个结果。

如果表a只返回一行,我可以这样做:

而且我还能够为多个-results获得所有匹配b的 -entries,如下所示:a

但是如何将这两者结合在一起呢?