pg-promise相关内容
我正在使用 NodeJS/Postgres 构建一个简单的 web 应用程序,它需要在数据库中进行 3 次插入. 为了控制语句链,我使用了 pg-transaction. 我的问题是我必须始终运行第 2 个 INSERTS,但我有条件运行第 3 个. 也许我的代码可以以更好的方式构建(欢迎提出建议). 这是一个伪代码: function(req, res) {var
..
我需要构建一个函数来处理用于 bluebird.map() 调用的大型 CSV 文件.鉴于文件的潜在大小,我想使用流式传输. 这个函数应该接受一个流(一个 CSV 文件)和一个函数(处理流中的块),并在文件被读取到结束(解决)或错误(被拒绝)时返回一个承诺. 所以,我从: 'use strict';var _ = require('lodash');var promise = req
..
我正在构建一个使用 pg-promise 模块. 我想确保启动应用服务器时数据库连接成功.换句话说,如果与数据库的连接失败,我想抛出一个错误. 我的server.js文件如下: const express = require("express");const 数据库配置 = {“主机":“本地主机",“端口":5432,"数据库": "library_app",“用户":“postg
..
我想用一个 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 条记录,因此运行多个查询是
..
我在 GraphQL 应用程序中使用 pg-promise 并且由于嵌套/解析器的迭代性质,每个 HTTP 请求都会进行很多的数据库查询. 所以我想知道在解析器收集数据时是否有更有效的方法来共享连接池中的连接? 我知道 pg-promise 任务只对函数的回调有效,我看不到任何其他链接查询的方法(如文档所述 这里). 示例 GraphQL 查询: {用户{文件{姓名日期}
..
我正在尝试在 pg-promise 事务中插入链接数据.事务成功正确插入所有数据,但给出警告UnhandledPromiseRejectionWarning:错误:查询已释放或丢失的连接.. 导致这种情况的代码最初是: const item = {批次:{batch_number:1},配料: [{数量:'12',单位:'公斤'},{ 数量:'4',单位:'L' }],}返回等待 db.t
..
我试图简单地从表中读取一个值,并基于对其他查询的返回值调用并返回组合结果. 举个简单的例子:表 Users 有 id、name 和 emailid假设 emailid 不为空,我们想调用 email 表并返回一个结果,如 { id:[id], name:[name], email:[email]}. 解决方案 使用 pg 承诺: db.task(t => {return t.map
..
看https://github.com/vitaly-t/pg-promise/wiki/Data-Imports 有关于如何使用它进行导入的非常详细的文档. 然而,虽然这适用于演示场景,但我不知道如何将其应用于我的案例. 当我进行网络调用时,我获得了实际的 JSON 数据和标题中的参数,它为我提供了下一页的值(可以是日期、字符串或数字值). 在示例中,它说: db.tx('大
..
我正在使用 Node js 和 Postgresql,并试图在连接实现中最有效. 我看到 pg-promise 建立在 node-postgres 之上,node-postgres 使用 pg-pool 来管理池. 我还读到“一次超过 100 个客户端是一件非常糟糕的事情"(node-postgres). 我正在使用 pg-promise 并想知道: 对于大量数据,推荐的 pool
..
pg-promise助手:插入和多次更新中的可选字段 我对插入和更新语句的非必填字段有疑问 插入声明 通过此帖子,我定义了 ColumnSet ,其中包含可选字段( stype , sspeed , disup ).它可以工作,但我只想知道一些细节:您可以看到,如果对象没有属性,则 ColumnSet 将 state 的值定义为"false".在数据库中,默认情况下将字段"dis
..
我的问题基于合并嵌套循环查询到父数组结果-pg-promise .我也有类似的情况,但是有多个查询要组合才能得到最终结果.以下是我尝试用来实现我的要求的代码.但是我无法从与主查询结合的第二个查询中获得结果.我是一个初学者,想知道正确的实现方式. db.task(t => {const a =研究=>t.any('SELECT facility_contacts.name,facility_co
..
我在GraphQL应用程序中使用 pg-promise ,原因是嵌套解析程序的/迭代性质,每个HTTP请求都会进行很多个数据库查询. 所以我想知道在解析器收集数据时,有没有更有效的方法可以从连接池共享连接? 我了解到 pg-promise 任务仅在该函数的回调中有效,并且我看不到任何其他方式来链接查询(如记录在任务). 也可以通过方法连接进行手动连接,但我不建议将其用于一般的连接
..
我需要使用结果使 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
..
我使用pg-promise模块为Node创建了一个包含所有查询的单独文件.虽然对于大多数查询,我只在查询后使用req, res,但对于一个查询,我想返回一个值.这没用.返回undefined. passportLogin: (email)=> { db.one(`SELECT userid FROM user`) .t
..
我正在尝试遵循pg-promise库作者推荐的性能模式此处。 基本Vitaly建议使用插入内容: var users = [[''John',23],['Mike',30],['David',18]]; //我们也可以将Inserts用作内联函数: db.none('INSERT INTO Users(name,age)VALUES $ 1',Inserts('$ 1,
..
我目前正在通过 pg-promise 使用PostgreSQL创建NodeJS网站。 我有一个带有HTML表单的页面,该页面带有复选框以选择变量来搜索数据库以使用各种字段。然后将它们输入到带有 pg-promise 的SQL查询中,预期的行为是将结果以JSON格式传递回用户。 一个非常小的工作示例如下。 HTML表单:
..
在有关如何使用带有IN子句的参数化查询,语法如下: const data = [1 ,“两个”,3,“四个”]; db.any('SELECT * FROM table WHERE id IN($ 1:csv)',[data]) .then(data => { ... 我似乎无法将其用于命名参数: db.manyOrNone('从小部件的ID为($(
..
我试图让pg-promise在NodeJS中工作,以允许我连接到PostgreSQL数据库。节点和postgre都在运行Ubuntu的codeanywhere节点框中运行。 以下是相关代码: var pgp = require('pg-promise')(); var bot = new TelegramBot(token,{polling:true}); var db =
..
我有以下查询,可将数据插入到多对多连接表中 插入播放列表类型(播放列表ID, genre_id) 值($ {playlistId},$ {genre1Id}), ($ {playlistId},$ {genre2Id}), ($ {playlistId},$ {genre3Id}) ); 但是我遇到的问题是值 genre2Id 和 genre3Id ,因此可以是 INTE
..
我正在使用pg-promise来处理nodeJS和postgres,但是当我尝试查询 User 表时,它会检索superUser。我认为这与以下事实有关:我尚未设置模式,因此代码将在默认值1上进行搜索。如何在代码上设置模式? 我尝试过: var express = require('express'); var app = express(); 常量端口= 8080;
..