Node.js 无法将heroku连接到数据库
我是一个新开发人员,我不知道我在部署我的应用程序方面做了什么。在本地,我可以完美地运行它。我已经建立了heroku帐户和Mongonabs帐户。我的app.js文件启动了我的应用程序,我在heroku中正确设置了它,当我做heroku日志时,它显示它试图启动它,但在找不到mongodb时崩溃。我的代码可能完全错了,我迷路了,不知道在哪里可以找到答案。我已经找了好几个小时了。下面交换了用户名和密码,但我在尝试发送文件时使用了正确的凭据 我的app.js文件是:Node.js 无法将heroku连接到数据库,node.js,mongodb,heroku,Node.js,Mongodb,Heroku,我是一个新开发人员,我不知道我在部署我的应用程序方面做了什么。在本地,我可以完美地运行它。我已经建立了heroku帐户和Mongonabs帐户。我的app.js文件启动了我的应用程序,我在heroku中正确设置了它,当我做heroku日志时,它显示它试图启动它,但在找不到mongodb时崩溃。我的代码可能完全错了,我迷路了,不知道在哪里可以找到答案。我已经找了好几个小时了。下面交换了用户名和密码,但我在尝试发送文件时使用了正确的凭据 我的app.js文件是: var express = requ
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);
如果有人能帮我编写正确的代码,或者甚至用说明如何设置文件的文档为我指明正确的方向,以便我能与heroku一起使用mongolabs,我将不胜感激。我能够解决这个问题。我需要使用:
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');
有关heroku的教程,请参见。希望能有帮助。