javascript - 无法连接到 mongolab 数据库

标签 javascript mlab

代码示例-

const express=require('express'),
    http=require('http'),
    handlebars=require('express-handlebars').create({defaultLayout:'main'}),
    fs=require('fs'),
    mongoose=require('mongoose'),
    uriUtil = require('mongodb-uri'),
    credentials=require('./credentials.js'),
    bodyParser=require('body-parser');

    //connect to databse
    var mongooptions = {
        server: {
            poolSize:5,
            socketOptions: { keepAlive: 1, connectTimeoutMS: 30000 } },
            replset: { socketOptions: { keepAlive: 1, connectTimeoutMS : 30000 }
        },
    };
    var mongodbUri=("mongodb://user:pwd@ds029831.mongolab.com:29831/project");
    var mongooseUri=uriUtil.formatMongoose(mongodbUri);
    mongoose.connect(mongooseUri,mongooptions);
    var conn=mongoose.connection;
    conn.on('error',function(err){
        console.log(err.message);
    });

    conn.on('connection',function() {
        var app=express();
        app.set('port',process.env.PORT);
        app.engine('handlebars',handlebars.engine);
        app.set('view engine','handlebars');
        app.use(express.static('./public'));
        app.use(bodyParser.json());
        app.use(bodyParser.urlencoded({extended: true}));
        app.use(require('express-session')({
            secret: 'intro skill',
            resave: false,
            saveUninitialized: false,
            cookie: {maxAge:900000}
        }));
        var userSchema=new mongoose.Schema({
            username: String,
            password: String,
            email   : String
        });
        var user=mongoose.model('users',userSchema);
        //routing

        function startServer(){
            http.createServer(app).listen(app.get('port'),function(){
                console.log("Server Started at port "+app.get('port'));
            });
        }

        if(require.main===module){
            startServer();
        }
        else{
            module.exports=startServer;
        }   

    });

这是我的node.js 的代码。我正在使用 mongolab 作为 mongodb。
我正在 cloud9 上运行应用程序。
当我使用 mongoose 连接到数据库时,它抛出错误,无法连接到 1%40ds029831.mongolab.com:29831
应用程序正在连接到 mongolab,并且在身份验证(成功)后显示此错误。 请帮我解决这个问题。

最佳答案

您的密码是否包含“@”字符?如果是,请将其替换为 %40,然后重试,“@”字符只能出现在主机名之前。

关于javascript - 无法连接到 mongolab 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27714431/

相关文章:

javascript - PNG 图像在 CSS 图像之上的问题?

PHP/HTML : Saving HTML variables in PHP Session variables

javascript - Flask 后台运行函数时,如何给页面添加加载gif?

mongodb - 如何将 Mongolab 上的 Amazon EC2 安全组列入白名单

ruby-on-rails - Heroku/Unicorn 上的重复出现 rails 错误 - 'execution expired',一个 ActionView::Template::Error

javascript - 如何在 OpenLayers 中将 "normal"坐标转换为 OSM 坐标

javascript - div 中居中的元素似乎偏离了中心

javascript - 如何使用 node.js 后端服务器与前端和 mongolab 数据库进行交互?

node.js - MongoDB 与 MongoLab 的连接在 Heroku 上的 NodeJS 中超时

android - 使用 REST 接口(interface)连接到数据库 : Cannot connect