@
xvfeng 抱歉没有对此做足够的说明。
我使用的是 appfog add-on 中的 MongoLab 服务, Install 之后,就会在 Environment Variables 中生成一条名为 MONGOLAB_URI 的变量。
所以 noderce 中的配置写成这样,直接把 env.MONGOLAB_URI 取出连接串
exports.db = mongoskin.db(process.env.MONGOLAB_URI || "mongodb://localhost/noderce");
------------------
如果,你选择的机房如果不可添加 MongoLab 服务,或者你希望使用 appfog 自带的 mongodb 服务。你需要把 noderce config.js 中的 exports.db 修改成这样
if(process.env.VCAP_SERVICES){
var env = JSON.parse(process.env.VCAP_SERVICES);
var mongo = env['mongodb-1.8'][0]['credentials'];
}
else{
var mongo = {
"hostname":"localhost",
"port":27017,
"username":"",
"password":"",
"name":"",
"db":"db"
}
}
var generate_mongo_url = function(obj){
obj.hostname = (obj.hostname || 'localhost');
obj.port = (obj.port || 27017);
obj.db = (obj.db || 'test');
if(obj.username && obj.password){
return "mongodb://" + obj.username + ":" + obj.password + "@" + obj.hostname + ":" + obj.port + "/" + obj.db;
} else{
return "mongodb://" + obj.hostname + ":" + obj.port + "/" + obj.db;
}
}
exports.db = mongoskin.db(generate_mongo_url(mongo););