mongodb,node.js,combbo,部署在mongod的heroku上
我不熟悉mongodb和node.js。我有一个简单的node.js应用程序,为了运行,我必须运行命令mongodb,node.js,combbo,部署在mongod的heroku上,mongodb,heroku,Mongodb,Heroku,我不熟悉mongodb和node.js。我有一个简单的node.js应用程序,为了运行,我必须运行命令 mongod mongod 以确保mongodb正在运行。 在当地,这很好 现在我转到heroku,我创建了一个Procfile,其中我声明: web: node http.js 因此,这将负责启动node.js 现在我如何调用命令 mongod mongod 在希罗库 更新 在heroku要求之前,我是这样初始化mongodb的: var mongo = re
mongod
mongod
以确保mongodb正在运行。
在当地,这很好
现在我转到heroku,我创建了一个Procfile,其中我声明:
web: node http.js
因此,这将负责启动node.js
现在我如何调用命令
mongod
mongod
在希罗库
更新
在heroku要求之前,我是这样初始化mongodb的:
var mongo = require('mongodb');
var Server = mongo.Server,
Db = mongo.Db,
BSON = mongo.BSONPure,
ObjectID = mongo.ObjectID;
var server = new Server('localhost', 27017, {auto_reconnect: true});
db = new Db('sampledb', server);
db.open(function(err, db) {
if(!err) {
console.log("Connected to 'sampledb' database");
db.collection('sample', {strict:true}, function(err, collection) {
if (err) {
console.log("The 'sample' collection doesn't exist. Creating it with sample data...");
populateDB();
}
});
}
});
为了适应heroku,以下是我初始化mongodb的方式:
var mongo = require('mongodb');
var Server = mongo.Server,
Db = mongo.Db,
BSON = mongo.BSONPure,
ObjectID = mongo.ObjectID;
var mongoUri = process.env.MONGOLAB_URI ||
process.env.MONGOHQ_URL ||
'mongodb://localhost/sampledb';
mongo.Db.connect(mongoUri, function (err, db) {
db.collection('sample', function(er, collection) {
if (err) {
console.log("The 'sample' collection doesn't exist. Creating it with
sample data...");
populateDB();
}
});
});
现在这会抛出一个错误,因为无法识别db。我想我在这里遗漏了一个概念性的问题,我对这个世界都是新手
非常感谢您的帮助。您不能在heroku上调用命令
mongod
您需要将addons.heroku.com中的一个mongo加载项添加到应用程序中,然后让代码连接到由加载项提供程序导出到应用程序的配置变量中的凭据