【问题标题】:Node express & pg-promise - db.any is not a functionNode express & pg-promise - db.any 不是函数
【发布时间】:2018-02-28 18:33:37
【问题描述】:

我有这个错误:

TypeError: db.any is not a function

我正在使用 node 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 一起使用, 我不明白错误在哪里,如果有人可以帮助我,

谢谢!

【问题讨论】:

    标签: node.js postgresql express bluebird pg-promise


    【解决方案1】:

    【讨论】:

      【解决方案2】:

      您似乎没有在查询文件中导出您的数据库。 尝试将其包含在查询中

      module.exports = db;
      

      【讨论】:

        猜你喜欢
        • 2017-01-26
        • 2019-02-14
        • 2020-11-02
        • 1970-01-01
        • 1970-01-01
        • 2018-04-11
        • 1970-01-01
        • 1970-01-01
        • 2019-04-01
        相关资源
        最近更新 更多