连接到Atlas MongoDB时,Netlify返回404

时间:2019-02-12 05:08:33

标签: mongodb mongoose netlify

我正在尝试创建一个Netlify应用程序,该应用程序将数据发布到Atlas MongoDB,并且当我从本地主机运行页面时可以发布到DB时,每当我尝试将数据发布到DB时,Netlify都会返回404 。我知道Atlas列入白名单的IP地址不是问题,因为我暂时已将所有IP地址列入白名单。我怀疑这与Netlify无法正确读取或运行用于存储Atlas信息的env.process有关,尽管我不能完全确定这是原因。在本地运行时,我将配置设置为直接使用Atlas信息,而不是依赖于.env文件。我使用猫鼬连接到数据库,而我的代码的连接部分在我的生产版本中如下:

mongoose.connect(process.env.MONGODB_URI || "mongodb://localhost/dbname");

这没有用,但是在我从本地主机运行的工作副本上,我使用:

const uri = `mongodb://atlasDB:<PASSWORDHERE>@atlasDB-shard-00-00-ot2tv.mongodb.net:27017,atlasDB-shard-00-01-ot2tv.mongodb.net:27017,atlasDB-shard-00-02-ot2tv.mongodb.net:27017/test?ssl=true&replicaSet=atlasDB-shard-0&authSource=admin&retryWrites=true`;
mongoose.connect(uri);

我已将Netlify配置为具有mongodb://atlasDB:<PASSWORDHERE>@atlasDB-shard-00-00-ot2tv.mongodb.net:27017,atlasDB-shard-00-01-ot2tv.mongodb.net:27017,atlasDB-shard-00-02-ot2tv.mongodb.net:27017/test?ssl=true&replicaSet=atlasDB-shard-0&authSource=admin&retryWrites=true的MONGODB_URI构建环境变量

在两种情况下,我都用实际的密码替换了PASSWORDHERE,但是在Netlify网站的输入字段中查看时,Netlify构建环境变量的值周围没有字符串引号。我曾尝试将其放入,但似乎没有什么区别,但我可能根本没有等待足够长的时间才能使更改生效。

除了猫鼬,我没有运行任何其他依赖项,应该对这个问题有任何影响。该项目的截止日期为几天,因此在此方面提供的任何帮助将不胜感激。

0 个答案:

没有答案