我有一个nodejs应用程序,它连接到本地安装的Mongodb,代码如下:
var mongo = require('mongodb');
var nodemailer = require("nodemailer");
var Server = mongo.Server,
Db = mongo.Db,
BSON = mongo.BSONPure;
var server = new Server('localhost', 27017, {auto_reconnect: true});
db = new Db('clients', server, {safe:false});
db.open(function(err, db) {
if(!err) {
console.log("Connected to 'clients' database");
db.collection('clients', {strict:true}, function(err, collection) {
if (err) {
console.log("The 'clients' collection doesn't exist. Creating it with sample data...");
populateDB();
}
});
}
});
exports.findAll = function(req, res) {
db.collection('clients', function(err, collection) {
collection.find().toArray(function(err, items) {
res.send(items);
});
});
};
现在我想把这段代码移到Heroku上。根据Heroku的说法,我的代码应该类似于:
var mongo = require('mongodb');
var mongoUri = process.env.MONGOLAB_URI ||
process.env.MONGOHQ_URL ||
'mongodb://localhost/mydb';
mongo.Db.connect(mongoUri, function (err, db) {
db.collection('mydocs', function(er, collection) {
collection.insert({'mykey': 'myvalue'}, {safe: true}, function(er,rs) {
});
});
});
我似乎想不出如何重组我的代码,让它在Heroku上工作。
发布于 2014-03-11 15:47:50
一定要在heroku上吗?
您可以将您的代码保留在Heroku上,轻松地在Mongodb ( https://mongolab.com/products/pricing/ )中配置免费的Mongodb实例/数据源,并调整您的代码以连接到Mongolab上的免费Mongodb实例:
mongodb://dbuser:dbpassword@dfs12345.mongolab.com:56789/dbname
https://stackoverflow.com/questions/22330112
复制