Tag: pg promise

Node.js – PostgresSQL – 无法确定参数$ 1错误的数据types

我正在尝试使用node.js pg npm包创build一个PostgreSQL准备语句。 但是,我不断收到错误: 无法确定参数$ 1的数据types function promiseQuery(sql, values) { return new Promise(function(resolve, reject) { pool.query('select $1 from workers', ['name'], function(err, result) { if (err) {console.log(err); reject(err)} else resolve(result.rows); }) }); } 在数据库name字段被设置为inputtext not null 。 我也尝试pg-promise ,但也没有成功。

Node express&pg-promise – db.any不是一个函数

我有这个错误: TypeError: db.any is not a function 我使用节点JS,pg-promise和express。 这里是queries.js文件(db): const promise = require('bluebird'); var options = { promiseLib: promise }; var pgp = require('pg-promise')(options); var connectionString = 'postgres://localhost:5432/spendy'; var db = pgp(connectionString); console.log('connexion ok'); 控制器: const db = require('../queries'); module.exports = { getAllUsers: function(req, res, next) { db.any('select * from users') .then((data) => { res.status(200) […]

pg-promise:将存储过程参数强制转换为postgres中该列的dataType

尝试使用pg-promise通过存储过程插入到PostgreSQL中。 我只看到整数/时间戳without.tz参数被成功插入。 每当存储过程包含布尔,字符变化参数时,该过程将失败: 函数(整数,未定义,未定义)不存在。 即使是最简单的存储过程(完全无歧义)也会因此错误而失败。 在Java中也面临同样的问题,但是可以在那里显式地抛出每个参数 “51212 :: INTEGER,'名称':: CHARACTER VARYING,'2016-07-26'::时间戳无时区” 而pg-promise不允许我提供参数。 实际上是否可以调用一个Postgres存储过程,而无需显式转换,无论是Java或Javascript? 如果是这样,怎么样? 什么作品是:只用双引号,而不是单…. db.proc('storedproc', [124, "AIM", new Date('2016-08-22'),false]).then()

nodejs – 帮助“promisifying”使用嵌套promise读取的文件

所以我最近钻研尝试了解承诺和背后的目的,由于JavaScript的asynchronous行为。 虽然我“理解”了我的理解,但我仍然在为如何促使某些东西返回未来价值而奋斗,然后执行新的代码块来做其他事情。 我使用的两个主要节点模块: PG-承诺 exceljs 我想要做的是读取一个文件,然后一旦完全读取,迭代每个工作表执行DB命令。 然后一旦所有的工作表被处理,回去删除我读的原始文件。 这是我有的代码。 我有工作到一切写入数据库就好了,即使有多个工作表 。 我没有工作是设置它来确定所有的工作表已经完全处理,然后去除文件 workbook.csv.readFile(fileName) .then(function () { // this array I was going to use to somehow populate a true/false array. // Then when done with each sheet, push a true into the array. // When all elements were true could signify all the processing is done… […]

如何使用pg-promise将数据下载为CSV文件?

db.any(query) .then(data => { //console.log("data: " + JSON.stringify(data)); res.json(data); //res.send("data: " + JSON.stringify(data)); }) .catch(error => { console.log("ERROR:", error) }); 是否有可能以CSV格式而不是JSON获取数据?

pg-promise设置模式NodeJs

我使用pg-promise来处理nodeJS和postgres,但是当我尝试查询我的User表时,它检索到超级用户。 我认为这与我还没有模式集的事实有关,所以代码search默认值1.如何在代码上设置模式? 我试过这个: var express = require('express'); var app = express(); const PORT = 8080; var pgp = require('pg-promise')(/*options*/) var db = pgp('postgres://postgres:randompassword@localhost:5432/appname') app.listen(PORT,function() { console.log("listening to port: " + PORT); }) db.any('SELECT * FROM User') .then(function(data) { console.log(data); }) .catch(function(error) { console.log(error); });

pg-承诺每个用户一个连接

亲爱的社区和活力希望, 我正在build立一个pg-promise的网站/服务器。 我使用postgreangular色/组login进行身份validation。 我不知道我是否正确地做了这些事情,但我希望每个用户使用自己的postgres连接来查询数据库。 所以在实践中,我们为每个用户在连接时创build一个连接(如果它不存在的话)。 为此,我创build了一个带有丑陋的“假承诺”和一个pgUser对象的Pool对象: var pgPool = function(pg){ var _this=this; var fakePromise = function(err){ var _this=this; _this.err=err _this.then=function(cb){if(!err){cb();return _this}else{return _this};}; _this.catch=function(cb){if(err){cb(_this.err)}else{return _this};}; return _this; }; _this.check= function(user){ if (_this[user]){ return _this[user].check(); }else{ return new fakePromise({error:'Echec de connection à la base de données'}) } } _this.add = function(user,password){ var c={}; c.host = 'localhost'; c.port […]

使用pg-promise查询多对多关系的最佳方法

例如,我想从数据库中获取用户信息,电子邮件和angular色,并创build一个对象: { "id": 1, "firstname": "John", "lastname": "Johnny", "emails": [ { "type": "work", "email": "work@work.com" }, { "type": "personal", "email": "personal@personal.com" } ], "roles": [ { "role": "ADM", "title": "Admin" }, { "role": "PUB", "title": "Publisher" } ] } 有三个表我需要查询: Users表有id , firstname , lastname 。 Emails表具有type , email ,用户user_id 。 Roles表有role , title , […]

在pg-promise中返回

我使用pg-promise模块为Node创build了一个包含所有查询的单独文件。 虽然对于他们中的大多数,我只是在查询后使用req, res ,我想返回一个值。 这是行不通的。 它返回undefined 。 passportLogin: (email)=> { db.one(`SELECT userid FROM user`) .then( result => { return result; }) .catch( error => { return error; }); }

使用pg-promise格式化JSON输出,将外键封装为对象

我正在使用Node.JS和PostgreSQL构build一个非常简单的REST平台,使用pg-promise来访问数据库。 我的目标是创build一个令人难以置信的简单的票务系统与用户和票据。 在这一点上,我只是想能够查询服务器的所有票的列表。 我的数据库由两个表格组成,格式如下: CREATE TABLE people ( ID SERIAL PRIMARY KEY, NAME VARCHAR(128) ); CREATE TABLE tickets ( ID SERIAL PRIMARY KEY, SUBMITTED_BY int4 REFERENCES people(ID), TITLE VARCHAR(128) 正如你所看到的,有一个单一的外键指向人的票。 我用以下数据填充了我的数据库: coop=> SELECT * FROM people; id | name —-+———- 1 | John Doe (1 row) coop=> SELECT * FROM tickets; id | submitted_by | […]