我正在尝试连接到MongoDB Atlas上的数据库,并继续出现此错误:
throw new Error('invalid schema, expected mongodb');
我试图通过外壳进行连接并且可以正常工作,所以我知道连接可用。
这是我的代码:
var mongodb = require('mongodb');
var MongoClient = mongodb.MongoClient;
let connMongoDB = MongoClient.connect(process.env.MONGODB_URI, function (err, db) {
if (err) {
console.log(err)
}
db.close();
});
module.exports = function () {
return connMongoDB;
}
在我的.env
中,
MONGODB_URI=mongodb+srv://orsUser:password@cluster0-2zrmd.mongodb.net/test?retryWrites=true&w=majority
答案 0 :(得分:0)
在我的
.env
中,MONGODB_URI=mongodb+srv://orsUser:password@cluster0-2zrmd.mongodb.net/test?retryWrites=true&w=majority
您的.env
文件可能不会影响Heroku。
generally shouldn't be committed to your repository,毕竟这只是填充正在运行的应用程序的environment的便捷方法。 Heroku通过其命令行或Web控制台包含configuration via the environment,因此也包含supports environment variable modification。
例如,您可以运行
heroku config:set MONGODB_URI='mongodb+srv://orsUser:password@cluster0-2zrmd.mongodb.net/test?retryWrites=true&w=majority'
设置MONGODB_URI
环境变量。完成后,您的process.env.MONGODB_URI
应该会按预期填充。