【问题标题】:Can't connect Mongodb to Node.js, MEAN-stack无法将 Mongodb 连接到 Node.js,MEAN-stack
【发布时间】:2016-04-14 05:21:35
【问题描述】:

我是 Mac 用户,对 MEAN-stack 非常陌生。我正在尝试将 Mongoose 与我的 Node.js 连接,但它总是显示此错误

events.js:141
  throw er; // Unhandled 'error' event
  ^ 
Error: failed to connect to [undefined:27017]
at null.<anonymous> (/Users/toeysk/Desktop/testwebrtc.git/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/server.js:556:25)
at emitThree (events.js:97:13)
at emit (events.js:175:7)
at null.<anonymous> (/Users/toeysk/Desktop/testwebrtc.git/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:156:15)
at emitTwo (events.js:87:13)
at emit (events.js:172:7)
at Socket.<anonymous> (/Users/toeysk/Desktop/testwebrtc.git/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection.js:534:10)
at emitOne (events.js:77:13)
at Socket.emit (events.js:169:7)
at connectErrorNT (net.js:996:8)
at doNTCallback2 (node.js:452:9)
at process._tickCallback (node.js:366:17)

我可以在终端中正常使用 Mongoose 和 Mongodb。

这是我的 server.js

process.env.NODE_ENV = process.env.NODE_ENV || 'development';

var mongoose = require('./config/mongoose'); //connect DB
var express = require('./config/express');

var db = mongoose();
var app = express();
app.listen(3000);

module.exports = function(){
    require('../app/routes/index.routes')(app);
    require('../app/routes/user.routes')(app);
};

module.exports = app;

它调用 mongoose.js

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

console.log('Mongoose.js');
console.log(config);

module.exports = function(){

    mongoose.set('debug', config.debug);

    var db = mongoose.connect(config.monoUri);

    console.log('Call User Model');
    require('../app/models/user.model');

    return db;
}; 

然后调用config.jsdevelopment.js

/////config.js/////

module.exports = require('./env/' + process.env.NODE_ENV + '.js');

/////development.js/////

module.exports = {
    debug: true,
    mongoUri: 'mongodb://localhost/webrtc',
    sessionSecret: 'dev_secret_key'
};

请帮忙。我一直在尝试调试这个大约 2 天,但我没有任何新东西。有什么想念的吗?

【问题讨论】:

    标签: javascript node.js mongodb mongoose mean-stack


    【解决方案1】:

    错误将您指向问题:

    Error: failed to connect to [undefined:27017]
    

    所以数据库的位置有问题,看起来主机名未定义。

    这是您的连接代码:

    var db = mongoose.connect(config.monoUri);
    

    这里是你的配置:

    mongoUri: 'mongodb://localhost/webrtc'
    

    您能找出连接代码中的错字吗?它说monoUri,而不是mongoUri

    【讨论】:

      【解决方案2】:

      你可以吗

      npm install mongoose
      

      并发布来自

      的输出
      ps -ef | grep mongod
      

      所有在您运行节点的机器上。这将对答案的其余部分大有帮助。

      同样遵循简单的示例代码-https://github.com/mongodb/node-mongodb-native#introduction,替换数据库名称和集合名称并在节点上运行它

      node sample.js
      

      【讨论】:

        猜你喜欢
        • 2015-08-25
        • 2019-04-30
        • 2015-11-08
        • 1970-01-01
        • 1970-01-01
        • 2016-12-05
        • 1970-01-01
        • 1970-01-01
        • 2019-10-17
        相关资源
        最近更新 更多