2014-12-31 2 views
0

Код ственного образцаНе удался подключиться к базе данных mongolab

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:[email protected]: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.
Я запускаю приложение на облаке9.
Когда я подключаюсь к базе данных с помощью mongoose, она выдает ошибку, так как не удалось соединиться с 1% 40ds029831.mongolab.com: 29831.
Приложение подключается к монголабу, и после аутентификации (который успешно) он показывает эту ошибку. Пожалуйста, помогите мне с этим.

ответ

3

Имеет ли ваш пароль символ '@'? если да, замените его на% 40 и повторите попытку, символ «@» должен появиться только перед именем хоста.

+0

поблагодарить u это сработало :) – user189750

+0

Awesome. Спасибо, чувак –

+0

Вы, сэр, гений. Большое спасибо. Я пытался выяснить это в течение последних 4 часов, но не повезло. Рад, что я нашел этот ответ :) –

Смежные вопросы