TypeError:无法解析'undefined'或'null'的属性`db`

时间:2018-04-19 13:00:44

标签: node.js mongodb typeerror var destructuring

我在mongodb连接的变量赋值中遇到TypeError。有解决方法吗?

//server.js
var mongoose = require('mongoose');
var config = require('./config');

var { db: {user,pass,host,port,name } } = config;

var connectionString = `mongodb://${user}:${pass}@${host}:${port}/${name}`;

mongoose.connect(connectionString, { useMongoClient: true });

错误

C:\mean\webguidv1\server.js:65
  db: {
  ^

TypeError: Cannot destructure property `db` of 'undefined' or 'null'.

这是我的config.js文件

// config.js
var env = process.env.NODE_ENV; // 'dev' or 'test'

var dev = { app: { port: 3000 }, db: {user: '', pass: '', host: '', port: , name: '' }};

var test = { app: { port: 3000 }, db: {user: '', pass: '', host: '', port: , name: '' }};

var config = { dev, test };

module.exports = config[env];

2 个答案:

答案 0 :(得分:4)

您正在尝试解构config,其中configundefinednull。在这种情况下,我认为它是undefined

如果您console.log(require('./config')),您可能会得到undefined

如果您尝试在节点10.7.0中的函数args中解构对象,也会出现此错误。

答案 1 :(得分:-1)

您必须使用bodyParser来提及json格式,

docker exec -t vendor/bin/phpunit app.use(bodyParser.json());