Tag: postgresql

knex.js多个更新optmised

现在我正在做我的工作stream的方式是这样的: 从一个postgres数据库获取行列表(比如说10.000) 对于每一行我需要调用一个API端点并获得一个值,所以从API返回的10.000值 对于每一行我有一个值返回我需要更新数据库中的字段。 10.000行更新 现在我正在做每个API获取后的update ,但你可以想象这不是最优化的方式。 我还有什么其他的select?

在pg-promise中使用助手时如何设置列

由node.js开发 我正在使用pg-promise 。 插入以下数据时出现问题。 我想插入多行数据到下面的表格中。 create table info ( id varchar(20) not null, name varchar(20) not null, createdate timestamp with time zone not null ) 我插入下面的数据。 let info = [ { myid: '0001', myname: 'name1' }, { myid: '0002', myname: 'name2' }, { myid: '0003', myname: 'name3' }, ] 我原来插入以下内容。 for (let i = 0; […]

如何让我的deserializeUserfunction在护照login后不断运行?

我用我的用户身份validation有一些麻烦。 我可以login,注册和注销,您可以从客户端认为一切都很好。 但是,我的反序列化用户函数被重复调用。 每秒几十次。 我最初并没有注意到,但是如果你login了足够长的时间,应用程序真的变慢了。 我似乎无法弄清楚。 任何帮助将不胜感激。 另外,我试过在user.js文件的末尾运行client.end(),但是这并没有解决问题。 我想知道这是不是一个交叉来源的问题。 -UPDATE – 我不怀疑这是一个CORS问题,因为我刚刚尝试从服务器端口上的静态HTML文件login,问题依然存在。 *在与服务器不同的端口上运行的前端进行响应。 Node,Express和Postgres在服务器端。 app.js const express = require('express'), app = express(), bodyParser = require('body-parser'), cookieParser = require('cookie-parser'), expressValidator = require('express-validator'), passport = require('passport'), session = require('express-session'); require('dotenv').config(); let port = process.env.PORT || 5000; app.use((req, res, next) => { res.header('Access-Control-Allow-Credentials', true); res.header('Access-Control-Allow-Origin', 'http://localhost:3000'); res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE'); […]

在Sequelize中将varchar列转换为date

我需要执行一个查询模型,具有保存字符不同的字段date时间这里是我的查询 const _from = new Date(from).getTime(); Model.findAll({where: Sequelize.where(Sequelize.fn('datetime', Sequelize.col('start')), '>=', _from)}) 与上面的查询这是响应: function datetime(character varying) does not exist 我也尝试以下内容: const _from = new Date(from); Model.findAll({where: Sequelize.where(Sequelize.fn('date', Sequelize.col('start')), '>=', from)}) 和上面的查询这是响应: date/time field value out of range: 1495828800000 这是表格中列的截图,我在Nodejs中使用postgress和Sequelize:

更新多个jsonb值

我试图创build一个cron运行每个月更新一些jsonb字段的键,在ndoe应用程序与postgres数据库。 在我的数据库中,我有一个像“disk_alert”,“temepratures_alert”,“consumptions_alert”键的jsonb字段,我想做一些像 Postgres的: UPDATE devices SET data=jsonb_set(data::jsonb,'{disk_alert}','false'::jsonb,true), modified_date=NOW() WHERE id=$1 AND NOT deleted; 节点: client.query("UPDATE devices SET data=jsonb_set(data::jsonb,'{disk_alert}','false'::jsonb,true), modified_date=NOW() WHERE id=$1 AND NOT deleted", [deviceId] 但如何添加其他键“consumptions_alert”和“temperatures_alert”? 我读了一些关于使用cocnatenation ||的内容 运营商,但如何做到这一点?

pg-promise创build列错误

var name = req.body.name; db.any('alter table "houseList" add $1 text', [name]) 我试图添加一个新的列到数据库主机上使用上述代码在nodejs heroku,但我不断收到此错误: 错误:在语法错误或“”哈哈“” “哈哈”是名字里的价值,任何人都有什么想法是错的?

使用ActiveAdmin迁移Rails应用程序到NodeJS

我正在将Ruby on Rails中的另一个开发人员创build的应用程序迁移到NodeJS,该应用程序有一个ActiveAdmin来处理一些操作并检查一些统计信息,我想知道可以在Node中使用什么类似的工具/框架来迁移尽可能减less痛苦。 另外,除了这个问题之外,我想问一下关于使用Node PostgreSQL实现和迁移到Mongo的问题(我知道没有看到代码不容易回答,但是我正在寻找见解,例如:Postgres在Node中没有太多贡献者,更好的移民到Mongo) 提前致谢!

iisnode数据库连接池

我通过托pipe在Windows Server 2012 R2 – IIS 8.5上的iisnode运行Node.js Web应用程序 。 在客户端请求应用程序需要从服务器数据库( PostgreSQL )查询数据。 在独立的Node.js应用程序中,通常会实现数据库客户端池(通过pg模块或全尺寸ORM ,例如Squeelize.js )。 然而, iisnode启动了一个Node.js进程每个客户端请求,渲染一个appwise池无用(据我所知),虽然它似乎与pg模块池实例工作。 我是相当新的IIS ; 在给定上述设置的情况下,我将如何实现高效的数据库连接池(或合适的替代品)? 例如: IIS / iisnodepipe理数据库连接,perhabs通过单个客户端连接请求? 使用appwise客户端池还是要走的路? 是使用IIS模块可取吗? 编辑:Tomasz Janczuks iisnode GitHub站点上的MongoDB的链接教程如果我没有弄错,GitHub站点使用单个客户端连接,但是适合于多个客户端和可能复杂的查询附近的生产使用? 我想坚持设置/configurationNode.js内的连接,如果这是可能的和合理的。

用Postgrestestingasynchronous错误

我一直在用Postgres数据库编写Sequelize的unit testing。 为了testing,我正在使用Jest。 现在,我可以得到这个代码工作: test('email field only takes valid emails', () => { expect.assertions(2); let user = Users.build({ email: 'notAProperEmail', password: 'abc123' }); return user.validate().catch(err => { expect(err).toHaveProperty('errors'); expect(err.errors[0].message).toEqual('Validation isEmail on email failed'); }); }) 但由于某种原因,这会抛出错误“SequelizeDatabaseError:关系”用户“不存在”。 此外,预期的方法也永远不会被击中,因为我得到了预期的断言错误:“期望的一个断言被调用,但接收到零断言调用”。 describe('Password is encrypted', () => { beforeAll(() => { Users.create({ email: 'test1@gmail.com', password: 'testPassword123' }) }); test('password is […]

节点/ postgres – 从STDIN结果复制不完整。 没有例外被抛出

我使用node-pg-copy将数据从mongodb批量导入到postgresql db 。 我使用observables来映射从mongodb进来的数据,然后将其写入到copyFrom正在使用的stream中。 有些东西是: function writeToStream (source, stream) { const trigger = Rx.Observable.fromEvent(stream, 'drain') hotsource = source.publish() const sub = trigger .takeUntil(hotSource.last()) .subscribe( data => stream.write(String(data)) && pauser.next(true), // pauser gets the next row to deal with concurrency. Using debugger, I can see that 'data' is ok every time. err => stream.emit('error', err), () […]