簡體   English   中英

無法將Heroku連接到Mongolabs數據庫

[英]Cannot connect heroku to mongolabs database

我是一名新開發人員,我不知道我在部署應用程序方面在做什么。 在本地,我可以完美地運行它。 我已經設置了一個heroku帳戶和一個mongolabs帳戶。 我的app.js文件啟動了我的應用程序,我在heroku中進行了正確設置,當我執行heroku日志時,它表明嘗試啟動它,但是在找不到mongodb時崩潰了。 我的代碼可能完全錯誤,我迷路了,不知道在哪里找到答案。 我一直在找幾個小時。 用戶名和密碼在下面交換了,但嘗試發送文件時我使用了正確的憑據。

我的app.js文件是:

var express = require('express');
var app = express();
var mongodb = require('mongodb');
var reddit = require('./routes/reddit');
var enter = require('./routes/enter');
var user = require('./routes/user');
var update = require('./routes/update');
var message = require('./routes/message');
var register = require('./routes/register');
var login = require('./routes/login');
var rate = require('./routes/rate');
var credentials = require ('./routes/request-credentials');
var uri = 'mongodb://removed:removed@ds045734.mongolab.com:45734/bubsta';
mongodb.MongoClient.connect(uri, function(err, db){
    if(err) throw err;
});

app.use('/', reddit);
app.use('/user', user);
app.use('/enter', enter);
app.use('/update', update);
app.use('/login', login);
app.use('/message', message);
app.use('/register', register);
app.use('/rate', rate);
app.use('/credentials', credentials);
app.use(express.static('public/dist'));
app.use(express.static('public/js'));
app.use(express.static('public/dist/images'));
app.use(express.static('bower_components'));

app.listen(1337);
console.log('Started on server 1337');

創建架構並連接的文件如下。 我已經注釋掉了可以在本地使用的舊代碼,但是將其包括在內只是為了讓您看到我以前已經連接過,以及為什么我認為應該將新代碼放在這里。

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

// mongoose.connect('mongodb://localhost:27017/Users/mike/project-two/users');
mongoose.connect('mongodb://removed:removed@ds045734.mongolab.com:45734/bubsta');

var User = new Schema({
    name: { type: String, index: { unique: true }},
    password: String,
    email: String,
    positive: Number,
    negative: Number,
    points: Number,
    title: String,
    sessions: Number,
    roomFull: Boolean
});

module.exports = mongoose.model('user', User);

如果有人可以幫助我編寫正確的代碼,或者甚至通過說明如何設置文件的文檔為我指明正確的方向,以便我可以將mongolabs與heroku一起使用,我將非常感激。

我能夠解決。 我需要使用:

var mongoUri = process.env.MONGOLAB_URI

mongo.connect(mongoUri, function(err, db){
    if (err){
        console.log(err);
    }else{
        console.log('success');
    };
});

app.listen(process.env.PORT || 1337);

然后對於我的貓鼬連接,我需要:

mongoose.connect('mongodb://heroku_somecodeherebutnotthisonec@ds048704.mongolab.com:48704/heroku_3rjmclqw');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM