首页 > 解决方案 > Mongoose.connection.on('error', error => ..} TypeError:Cannot read property 'on' of undefined

问题描述

在安装所有需要的 NPM 包后,我得到了这种类型的查询。询问

这是我在 db 文件夹中的索引文件代码 ../db/index.js

'use strict';

const config = require('../config');

const Mongoose = require('mongoose').connect(config.dbURI);

Mongoose.connection.on('error', error => {
    logger.log('error', 'Mongoose connection error: ' + error);
});

module.exports = {
    Mongoose
}

我已经安装了所有需要的软件包。& 错误是

D:\Node\ChatCAT\ChatCAT_Begin>node server
D:\Node\ChatCAT\ChatCAT_Begin\app\db\index.js:15
Mongoose.connection.on('error', error => {
                    ^

TypeError: Cannot read property 'on' of undefined
    at Object.<anonymous> (D:\Node\ChatCAT\ChatCAT_Begin\app\db\index.js:15:21)
    at Module._compile (internal/modules/cjs/loader.js:1158:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1178:10)
    at Module.load (internal/modules/cjs/loader.js:1002:32)
    at Function.Module._load (internal/modules/cjs/loader.js:901:14)
    at Module.require (internal/modules/cjs/loader.js:1044:19)
    at require (internal/modules/cjs/helpers.js:77:18)
    at Object.<anonymous> (D:\Node\ChatCGV9Jm2u7rmsCe65wKzPTw5jtS38n2tVEGi.js:5:12)
    at Module._compile (internal/modules/cjs/loader.js:1158:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1178:10)
    at Module.load (internal/modules/cjs/loader.js:1002:32)
    at Function.Module._load (internal/modules/cjs/loader.js:901:14)
    at Module.require (internal/modules/cjs/loader.js:1044:19)
    at require (internal/modules/cjs/helpers.js:77:18)
    at Object.<anonymous> (D:\Node\ChatCAT\ChatCAT_Begin\app\index.js:11:11)
    at Module._compile (internal/modules/cjs/loader.js:1158:30)

标签: node.jsmongodbmongoosedbconnection

解决方案


这才是连接MongoDB的正确方式

const mongoose = require('mongoose');

var options = {
    promiseLibrary: require('bluebird'), useNewUrlParser: true, useUnifiedTopology: true
};

var mongodbUri = 'mongodb://127.0.0.1:27017/mydb'
mongoose.connect(mongodbUri, options);
var conn = mongoose.connection;

conn.on('error', console.error.bind(console, 'connection error:'));

推荐阅读