过去,我已经能够使用连接到Heroku上托管的数据库的import numpy as np
df['Room'] = np.where(df[0].notnull(), df[0].astype(str).str[0], np.nan)
中间件连接到postgres数据库,但是我在连接到本地托管数据库时遇到问题。
具体来说,我遇到的错误是koa-pg
。
以下是我在单文件应用上的设置:
TypeError: Cannot read property 'client' of undefined
以下是问题所在的路线:
const koa = require('koa');
let route = require('koa-route'); // For calling specific routes
let request = require('koa-request'); // For RESTful requests
let paramify = require('koa-params');
var koaPg = require('koa-pg');
let pg = require('pg'); // .native;
let cors = require('koa-cors');
let parser = require('xml2js').parseString;
// pg.defaults.ssl = true;
route = paramify(route);
let param = route.param;
let get = route.get;
let app = koa();
let appPort = (process.env.PORT || 3000)
app.use(cors());
app.use(koaPg('postgres://localhost:5432/ttc_clustering_dev'));
看来我已根据the docs使用了正确的设置,但我可能会在这里找不到的东西。还有其他人看到我跌倒的地方吗?
可在此处找到完整文件:https://github.com/brianbancroft/ttc-clustering/blob/add-records-to-db/server/app.js
答案 0 :(得分:1)
由于文档应该是:
let result = yield this.pg.db.client.query_(query_content)
而不是
let result = yield pg.db.client.query_(query_content)
所以this.
丢失了。
在审核您的代码时,您明确要求pg
,因此您的代码会调用该代码而不是koa-pg
中的代码。因此,似乎没有定义pg.db。有意义吗?