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) .json({ status: 'success', data: data, message: 'Retrieve all users' }); }) .catch((err) => { console.log(err); return next(err); }); } }
和路线文件:
var express = require('express'); var router = express.Router(); var db = require('../queries'); const UserController = require('../controller/UserController'); router.get('/users', UserController.getAllUsers); module.exports = router;
我使用pg-promise与6.7.1版本和bluebird 3.5.0,我不明白错误在哪里,如果有人可以帮助我,
谢谢 !
你不会出现在查询文件中导出你的数据库。 尝试在查询中包含这个
module.exports = db;
你不会导出你的模块queries
- Ruby EventMachine,Python Twisted或JavaScript Node.js的重点/目的是什么?
- 如何在nodejs中使用mongodb timestamp数据types?
- node.js / node_mysql – 陈旧的连接会得到“没有数据库select”的错误
- Node.js Hmac SHA256 base64的string
- 使用NodeJS运行一个Angular 2应用程序,同时实时重新打包
- 使用来自Node.js的AUTH NTLM访问SMTP服务器
- Azure函数+ node.js – 找不到模块
- 我怎么知道这个mongodb是不是由mongoose开始的?
- socket.io客户端在刷新后多次听相同的事件