2013-10-31 10 views
5

Tôi đang sử dụng MongoDb và Nodejs. Nodejs được lưu trữ trên máy chủ Heroku và Mongodb nằm trong MongoLab thông qua add-on Heroku.Cách sử dụng Mongo URI trong máy chủ mongoLab và Heroku

Sau khi cài đặt MongoLab add-on, tôi nhận được URI này:

mongodb://<dbuser>:<dbpassword>@ds053148.mongolab.com:53148/heroku_app18934798 

Tôi không biết làm thế nào để sử dụng URI này, xin vui lòng giúp đỡ? Nơi để đặt nó? là những gì <dbuser>:<dbpassword

Đây là cấu hình của tôi mà là mối quan tâm đến MongoDB trong locallhost

Trong server.js

var env = process.env.NODE_ENV || 'development', 
    config = require('./config/config')[env], 
    mongoose = require('mongoose'); 

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

Trong express.js

app.use(express.session({ 
      secret: 'thissecret', 
      key:'express.sid', 
      store: new mongoStore({ 
       url: config.db, 
       collection: 'sessions' 
      }) 
     })); 

Trong config.js

module.exports = { 
    development: { 
     db: 'mongodb://localhost/mean-dev', 
     root: rootPath, 
     app: { 
      name: 'MEAN - A Modern Stack - Development' 
     }, 
     facebook: { 
      clientID: "APP_ID", 
      clientSecret: "APP_SECRET", 
      callbackURL: "http://localhost:3000/auth/facebook/callback" 
     } 

    }, 
    test: { 
     db: 'mongodb://localhost/mean-test', 
     root: rootPath, 
     app: { 
      name: 'MEAN - A Modern Stack - Test' 
     }, 
     facebook: { 
      clientID: "APP_ID", 
      clientSecret: "APP_SECRET", 
      callbackURL: "http://localhost:3000/auth/facebook/callback" 
     } 

    }, 
    production: { 
     db: 'mongodb://localhost/mean', 
     root: rootPath, 
     app: { 
      name: 'MEAN - A Modern Stack - Production' 
     }, 
     facebook: { 
      clientID: "APP_ID", 
      clientSecret: "APP_SECRET", 
      callbackURL: "http://localhost:3000/auth/facebook/callback" 
     } 

    } 
}; 

Trả lời

3

Bạn có thể kết nối với cơ sở dữ liệu bằng cách sử dụng sau đây:

var mongoose = require('mongoose'); 
mongoose.connect('mongodb://<dbuser>:<dbpassword>@ds053148.mongolab.com:53148/<database name>'); 

Nhưng trong trường hợp của bạn tôi sẽ thay thế mongodb://localhost/<database name> với mongodb://<dbuser>:<dbpassword>@ds053148.mongolab.com:53148/<database name>

0
module.exports = { 
development: { 
    db: 'mongodb://your_user_name:[email protected]:53148/heroku_app18934798', 
    root: rootPath, 
    app: { 
     name: 'MEAN - A Modern Stack - Development' 
    }, 
    facebook: { 
     clientID: "APP_ID", 
     clientSecret: "APP_SECRET", 
     callbackURL: "http://localhost:3000/auth/facebook/callback" 
    } 

}, 
test: { 
    db: 'mongodb://your_user_name:[email protected]:53148/heroku_app18934798', 
    root: rootPath, 
    app: { 
     name: 'MEAN - A Modern Stack - Test' 
    }, 
    facebook: { 
     clientID: "APP_ID", 
     clientSecret: "APP_SECRET", 
     callbackURL: "http://localhost:3000/auth/facebook/callback" 
    } 

}, 
production: { 
    db: 'mongodb://your_user_name:[email protected]:53148/heroku_app18934798', 
    root: rootPath, 
    app: { 
     name: 'MEAN - A Modern Stack - Production' 
    }, 
    facebook: { 
     clientID: "APP_ID", 
     clientSecret: "APP_SECRET", 
     callbackURL: "http://localhost:3000/auth/facebook/callback" 
    } 

} 
}; 

Dán này trong file config.js bạn và thay thế bởi your_user_name tên người dùng của bạn và thay thế your_password bằng mật khẩu của bạn để nhận kết nối.

0
mongoURI = 'mongodb://localhost/test'; 

MONGOLAB_URI = "mongodb://<admin>:<admin>@ds3232.mlab.com:23213/abcd" 

mongoose.connect(MONGOLAB_URI || mongoURI) 
+0

Bạn có thể giải thích những gì giải pháp của bạn đang làm thay vì chỉ dán một đoạn mã. –

Các vấn đề liên quan