pg-promise相关内容

使用 NodeJS 和 Postgres 的事务链中的可选 INSERT 语句

我正在使用 NodeJS/Postgres 构建一个简单的 web 应用程序,它需要在数据库中进行 3 次插入. 为了控制语句链,我使用了 pg-transaction. 我的问题是我必须始终运行第 2 个 INSERTS,但我有条件运行第 3 个. 也许我的代码可以以更好的方式构建(欢迎提出建议). 这是一个伪代码: function(req, res) {var ..
发布时间:2022-01-06 20:48:02 其他开发

NodeJS、promises、streams - 处理大型 CSV 文件

我需要构建一个函数来处理用于 bluebird.map() 调用的大型 CSV 文件.鉴于文件的潜在大小,我想使用流式传输. 这个函数应该接受一个流(一个 CSV 文件)和一个函数(处理流中的块),并在文件被读取到结束(解决)或错误(被拒绝)时返回一个承诺. 所以,我从: 'use strict';var _ = require('lodash');var promise = req ..
发布时间:2021-12-29 10:17:50 其他开发

启动应用程序时使用 pg-promise 验证数据库连接

我正在构建一个使用 pg-promise 模块. 我想确保启动应用服务器时数据库连接成功.换句话说,如果与数据库的连接失败,我想抛出一个错误. 我的server.js文件如下: const express = require("express");const 数据库配置 = {“主机":“本地主机",“端口":5432,"数据库": "library_app",“用户":“postg ..
发布时间:2021-12-09 13:38:38 其他开发

带有 pg-promise 的多行插入

我想用一个 INSERT 查询插入多行,例如: INSERT INTO tmp(col_a,col_b) VALUES('a1','b1'),('a2','b2')... 有没有一种方法可以轻松做到这一点,最好是针对这样的对象数组: [{col_a:'a1',col_b:'b1'},{col_a:'a2',col_b:'b2'}] 我可能会在一个块中得到 500 条记录,因此运行多个查询是 ..
发布时间:2021-12-01 21:46:42 前端开发

跨部分 http 请求共享 pg-promise 任务

我在 GraphQL 应用程序中使用 pg-promise 并且由于嵌套/解析器的迭代性质,每个 HTTP 请求都会进行很多的数据库查询. 所以我想知道在解析器收集数据时是否有更有效的方法来共享连接池中的连接? 我知道 pg-promise 任务只对函数的回调有效,我看不到任何其他链接查询的方法(如文档所述 这里). 示例 GraphQL 查询: {用户{文件{姓名日期} ..
发布时间:2021-11-15 22:21:53 其他开发

在 forEach 循环中带有相关查询的 pg-promise 事务发出警告错误:查询已释放或丢失的连接

我正在尝试在 pg-promise 事务中插入链接数据.事务成功正确插入所有数据,但给出警告UnhandledPromiseRejectionWarning:错误:查询已释放或丢失的连接.. 导致这种情况的代码最初是: const item = {批次:{batch_number:1},配料: [{数量:'12',单位:'公斤'},{ 数量:'4',单位:'L' }],}返回等待 db.t ..
发布时间:2021-09-09 19:12:17 前端开发

带有 pg-promise 的条件任务

我试图简单地从表中读取一个值,并基于对其他查询的返回值调用并返回组合结果. 举个简单的例子:表 Users 有 id、name 和 emailid假设 emailid 不为空,我们想调用 email 表并返回一个结果,如 { id:[id], name:[name], email:[email]}. 解决方案 使用 pg 承诺: db.task(t => {return t.map ..
发布时间:2021-06-22 19:19:44 前端开发

来自 API 的 node.js pg-promise 和分页

看https://github.com/vitaly-t/pg-promise/wiki/Data-Imports 有关于如何使用它进行导入的非常详细的文档. 然而,虽然这适用于演示场景,但我不知道如何将其应用于我的案例. 当我进行网络调用时,我获得了实际的 JSON 数据和标题中的参数,它为我提供了下一页的值(可以是日期、字符串或数字值). 在示例中,它说: db.tx('大 ..
发布时间:2021-06-22 19:19:29 前端开发

使用 pg-promise 的连接池

我正在使用 Node js 和 Postgresql,并试图在连接实现中最有效. 我看到 pg-promise 建立在 node-postgres 之上,node-postgres 使用 pg-pool 来管理池. 我还读到“一次超过 100 个客户端是一件非常糟糕的事情"(node-postgres). 我正在使用 pg-promise 并想知道: 对于大量数据,推荐的 pool ..
发布时间:2021-06-18 20:46:26 其他开发

pg-promise助手:插入和多次更新中的可选字段

pg-promise助手:插入和多次更新中的可选字段 我对插入和更新语句的非必填字段有疑问 插入声明 通过此帖子,我定义了 ColumnSet ,其中包含可选字段( stype , sspeed , disup ).它可以工作,但我只想知道一些细节:您可以看到,如果对象没有属性,则 ColumnSet 将 state 的值定义为"false".在数据库中,默认情况下将字段"dis ..
发布时间:2021-05-13 21:01:42 其他开发

pg-promise-将多个嵌套循环查询合并到父数组结果

我的问题基于合并嵌套循环查询到父数组结果-pg-promise .我也有类似的情况,但是有多个查询要组合才能得到最终结果.以下是我尝试用来实现我的要求的代码.但是我无法从与主查询结合的第二个查询中获得结果.我是一个初学者,想知道正确的实现方式. db.task(t => {const a =研究=>t.any('SELECT facility_contacts.name,facility_co ..
发布时间:2021-05-06 19:43:32 其他开发

在HTTP请求的各个部分之间共享pg-promise任务

我在GraphQL应用程序中使用 pg-promise ,原因是嵌套解析程序的/迭代性质,每个HTTP请求都会进行很多个数据库查询. 所以我想知道在解析器收集数据时,有没有更有效的方法可以从连接池共享连接? 我了解到 pg-promise 任务仅在该函数的回调中有效,并且我看不到任何其他方式来链接查询(如记录在任务). 也可以通过方法连接进行手动连接,但我不建议将其用于一般的连接 ..
发布时间:2021-04-09 18:41:26 其他开发

带有pg-promises的嵌套查询

我需要使用结果使 pg-promise 进行查询3个其他查询,但执行时出现此错误: 未处理的拒绝TypeError:方法'batch'需要一个数组 价值观. 批量(C:\ apps \ pfc \ node_modules \ spex \ lib \ ext \ batch.js:61:26) 在C:\ apps \ pfc \ node_modules \ spex \ lib \ ex ..
发布时间:2020-11-02 07:51:10 其他开发

返回pg-promise

我使用pg-promise模块为Node创建了一个包含所有查询的单独文件.虽然对于大多数查询,我只在查询后使用req, res,但对于一个查询,我想返回一个值.这没用.返回undefined. passportLogin: (email)=> { db.one(`SELECT userid FROM user`) .t ..
发布时间:2020-11-02 07:10:40 其他开发

创建SQL SELECT查询并处理潜在的未定义值的最佳实践

我目前正在通过 pg-promise 使用PostgreSQL创建NodeJS网站。 我有一个带有HTML表单的页面,该页面带有复选框以选择变量来搜索数据库以使用各种字段。然后将它们输入到带有 pg-promise 的SQL查询中,预期的行为是将结果以JSON格式传递回用户。 一个非常小的工作示例如下。 HTML表单: ..
发布时间:2020-05-30 01:32:04 前端开发

具有命名参数的“ WHERE col IN”

在有关如何使用带有IN子句的参数化查询,语法如下: const data = [1 ,“两个”,3,“四个”]; db.any('SELECT * FROM table WHERE id IN($ 1:csv)',[data]) .then(data => { ... 我似乎无法将其用于命名参数: db.manyOrNone('从小部件的ID为($( ..
发布时间:2020-05-30 01:16:14 其他开发

pg-promise设置架构NodeJ

我正在使用pg-promise来处理nodeJS和postgres,但是当我尝试查询 User 表时,它会检索superUser。我认为这与以下事实有关:我尚未设置模式,因此代码将在默认值1上进行搜索。如何在代码上设置模式? 我尝试过: var express = require('express'); var app = express(); 常量端口= 8080; ..
发布时间:2020-05-30 01:04:28 前端开发