我正在尝试为heroku设置mongodb,如果我将url正常放入脚本,我可以成功连接。但是,当我从本地环境变量中检索url以隐藏它时,我收到错误'invalid schema,expected mongodb'。
它以格式返回完全相同的url var url ='mongodb:// username:password@ds139619.mlab.com:39619 / food'
Process.env不是异步的吗?我可以在连接失败之前正确打印网址。我也检查了类型,它也是一个字符串。
//var url = 'mongodb://<username>:<password>@ds139619.mlab.com:39619/food';
var url = process.env.MONGOLAB_URI;
var ok = process.env.MONGOLAB_URI;
console.log(ok);
// Use connect method to connect to the Server
MongoClient.connect(url, function (err, db) {
if (err) {
console.log('Unable to connect to the mongoDB server. Error:', err);
} else {
console.log('Connection established to', url);
// do some work here with the database.
//Close connection
db.close();
}
});
答案 0 :(得分:3)
我通过删除保存环境变量时使用的引号来解决问题