node.js - 为什么 node-postgres 仅适用于路由
问题描述
我目前正在尝试使用 postgresql 和 pg for node.js 从 AWS RDS 查询一些数据。出于某种原因,我发现我只能在使用路由处理程序时查询数据。
例如:
const data = require('../data/rand.json');
const db = require('../db');
const Router = require('express-promise-router');
const router = new Router();
module.exports = router;
router.get('/', (req,res) => {
db.query(`SELECT * FROM rooms WHERE id < 10`)
.then((val) => console.log(val))
.catch(err => console.log(err))
})
但是,当我尝试像这样查询数据时:
const db = require('../db');
db.query(`SELECT * FROM rooms WHERE id < 10`)
.then((val) => console.log(val))
.catch(err => console.log(err))
我收到此错误 - TypeError [ERR_INVALID_ARG_TYPE]:“key”参数必须是字符串类型或 Buffer、TypedArray、DataView 或 KeyObject 的实例。收到空
我可以继续使用路由进行查询,但想知道为什么会发生这种情况以及是否正常。我在node-postgres文档上找不到太多信息。我还是新手,感谢您的帮助。
编辑:db文件看起来像这样
const { Pool } = require('pg');
//don't need to add obj w/ env var inside Pool
const pool = new Pool();
//value - cb f(x)
module.exports = {
query: (text, params) => pool.query(text, params),
}
解决方案
推荐阅读
- android - 构建支持蓝牙的 Android Automotive 模拟器
- omnet++ - 禁用隐式块序列化以防止不可预知的性能下降
- redis - socketio join 不会创建空间,但在发布消息时有效
- python - 重塑python表中的数据
- javascript - 在convalidetor错误后mvc asp.net没有刷新页面
- python - 如何平滑图形以找到所有局部最大值?
- python - 在 NATS 订阅者上工作时无法通过 Flask Web 应用程序发送视频帧
- javascript - 微软清晰脚本在 React js 中抛出错误
- firebase - 如何从颤振中的子集合中获取数据,我使用的是 firebase firestore。当我尝试从集合中检索数据时,它可以工作,但是没有
- android - Android画布绘制不同颜色的圆圈