【问题标题】:Could not connect with MongoLab database URl using node.js and Heroku无法使用 node.js 和 Heroku 连接 MongoLab 数据库 URl
【发布时间】:2018-01-07 01:30:14
【问题描述】:

我无法连接到 MongoLAB 中的 MongoDB。我有一个MEAN 应用程序,我已经部署在heroku 中。当我尝试连接数据库但无法连接时。日志如下。

Disconnected from log stream. There may be events happening that you do not see here! Attempting to reconnect...

2017-07-31T11:46:48.243603+00:00 app[web.1]:     at module.exports (/app/node_modules/mongodb/lib/url_parser.js:59:13)

2017-07-31T11:46:48.243605+00:00 app[web.1]:     at Function.MongoClient.connect (/app/node_modules/mongodb/lib/mongo_client.js:113:3)

2017-07-31T11:46:48.243604+00:00 app[web.1]:     at connect (/app/node_modules/mongodb/lib/mongo_client.js:289:16)

2017-07-31T11:46:48.243606+00:00 app[web.1]:     at run (/app/node_modules/thunky/index.js:13:3)

2017-07-31T11:46:48.243606+00:00 app[web.1]:     at /app/node_modules/mongojs/lib/database.js:29:15

2017-07-31T11:46:48.243607+00:00 app[web.1]:     at Collection._getConnection (/app/node_modules/thunky/index.js:27:3)

2017-07-31T11:46:48.243608+00:00 app[web.1]:     at Collection._getCollection (/app/node_modules/mongojs/lib/collection.js:17:10)

2017-07-31T11:46:48.243609+00:00 app[web.1]:     at getCursor (/app/node_modules/mongojs/lib/collection.js:32:10)

2017-07-31T11:46:48.243610+00:00 app[web.1]:     at run (/app/node_modules/thunky/index.js:13:3)

2017-07-31T11:46:48.243609+00:00 app[web.1]:     at /app/node_modules/mongojs/lib/cursor.js:12:5

2017-07-31T11:46:48.244240+00:00 app[web.1]: [0mPOST /login [31m500 [0m30.134 ms - 22[0m

Disconnected from log stream. There may be events happening that you do not see here! Attempting to reconnect...

我的代码如下:

var mongoJs=require('mongojs');
var CryptoJS = require("crypto-js");
var database='FGDP';
var collections=['f_users'];
var MONGOLAB_URI="mongodb://username:password@ds127153.mlab.com:27153/fgdp";
var db=mongoJs(MONGOLAB_URI, collections);
var ses;
exports.userlogin=function(req,res){
    var username=req.body.user_name;
    var password=req.body.user_pass;
   // console.log('pass'+typeof(password));
    //var ciphertext = CryptoJS.AES.encrypt(password, 'lexelPass');
    //var pass=ciphertext.toString();
    db.f_users.findOne({'login_name':username},function(err,docs){
        console.log('err',err);
        if(!err){
            if(docs){
                var pass=docs.password;
                var bytes = CryptoJS.AES.decrypt(pass.toString(), 'lexelPass');
                var plaintext = bytes.toString(CryptoJS.enc.Utf8);
                if(plaintext==password){
                   req.session.email=docs.email;
                   req.session.name=docs.name;
                   req.session.login_name=docs.login_name;
                   req.session.status=docs.status;
                   req.session.user_type=docs.user_type;
                   res.send(docs); 
                }else{
                   res.send("Login failed");
                }
            }
        }
        if(err){
            res.send("Login failed");
        }
    })
}

该数据库和集合存在于 mongoLAB 中。我需要通过 mongojs 连接它。实际上我有一个登录应用程序,但我无法登录。

【问题讨论】:

    标签: node.js mongodb heroku mlab


    【解决方案1】:

    你应该这样做

    var db = mongoJs(MONGOLAB_URI);
    db.on('connect', function () {
        console.log('database connected')
    });
    

    【讨论】:

    • 那么如何连接集合。
    • 好的,让我测试一下,告诉你。
    • 我在 heroku 中找不到这条日志消息。
    猜你喜欢
    • 2013-08-07
    • 2021-07-10
    • 2016-04-08
    • 2012-08-17
    • 2015-02-11
    • 1970-01-01
    • 1970-01-01
    • 2023-03-02
    • 2016-03-22
    相关资源
    最近更新 更多