使用Mongodb和nodejs

时间:2016-11-03 02:49:58

标签: node.js facebook mongodb login mean-stack

我是Mean的新手,我一直关注这个Tutorial。我还包括用于登录的Facebook和Google API。

我现在遇到的问题是当我使用数据库时,它给了我这个错误。

 events.js:141
 throw er; // Unhandled 'error' event
 ^

Error: failed to connect to [undefined:27017]
at null.<anonymous> (C:\Users\App\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> (C:\Users\App\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> (C:\Users\App\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:1012:8)
at nextTickCallbackWith2Args (node.js:442:9)
at process._tickCallback (node.js:356:17)

在我的主文件中,我有:         // server.js

    //Set up
    var express  = require('express');
    var app      = express();
    var port     = process.env.PORT || 8080;
    var mongoose = require('mongoose');
    var passport = require('passport');
    var flash    = require('connect-flash');

    var morgan       = require('morgan');
    var cookieParser = require('cookie-parser');
    var bodyParser   = require('body-parser');
    var session      = require('express-session');

    var configDB = require('./config/database.js');

     // configuration  ==============================================================
    //mongoose.connect('mongodb://127.0.0.1:27017/test');
      mongoose.connect(configDB.url); // connect to our database
    //mongoose.connect(configDB);

    require('./config/passport')(passport); // pass passport for configuration

    (rest of the code from the tutorial) 

在database.js中,我有这个:

     module.exports = {
     'mongodb':'//127.0.0.1:27017/test'
     };

当我注释掉(“var configDB = require('./ config / database.js');”)我的server.js中的require数据库时,我能够运行它并将它放在我的localhost上。但是,当我尝试注册时,页面只会继续加载然后崩溃。所以我猜它必须与数据库有关。

我查了一下错误,我看到的是人们使用127.0.0.1并取得了成功。我尝试使用'mongodb':'// 127.0.0.1:27017/test',因为人们取得了最大的成功,但它仍然不适合我。我从mongodb更改了它:localhost:27017 / test,localhost / test,以及我能找到的几乎所有解决方案。

所以现在我陷入困境,想知道如何解决这个问题。我如何将其路由到我的数据库时出现错误,我收到此错误?这一切都在localhost上完成。

只是为了确定MongoDb。 我的“app”文件中有mongodb。在我的C:中,我在安装时为mongodb创建了一个名为Data / db的文件。

当我去我的cmd时 - &gt; mongodb(版本3.2)在我的app文件中,我可以使用mongod并让它等待连接。当我使用mongo时,我能够连接到我的“测试”数据库。

非常感谢任何建议/帮助。 谢谢。

1 个答案:

答案 0 :(得分:0)

这应该可行,你需要在URL上使用'mongodb:'前缀,而不需要指定端口。

module.exports = {
    'mongodb':'mongodb://localhost/test'
};

https://docs.mongodb.com/manual/reference/connection-string/