Я пытаюсь создать приложение Netlify, которое отправляет данные в Atlas MongoDB, и хотя я могу публиковать в БД при запуске своей страницы с локального хоста, Netlify возвращает 404 всякий раз, когда я пытаюсь отправить данные в БД,Я знаю, что это не проблема с белыми IP-адресами Atlas, потому что я в настоящее время занес в белый список все IP-адреса.Я подозреваю, что это как-то связано с тем, что Netlify неправильно читает или запускает env.process, который я использую для хранения своей информации Atlas, хотя я не совсем уверен, что это является причиной.Когда я запускаю его локально, моя конфигурация настраивается так, чтобы просто использовать информацию Atlas напрямую, а не полагаться на файл .env.Я использую mongoose для подключения к БД, и в моей производственной сборке часть соединения моего кода выглядит следующим образом:
mongoose.connect(process.env.MONGODB_URI || "mongodb://localhost/dbname");
Это не работает, но на рабочей копии, с которой я запускаюlocalhost, я использую:
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_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
Я заменил PASSWORDHERE действительным паролем в обоих случаях, но Netlifyпеременная среды build не содержит строковых кавычек вокруг значения при просмотре в поле ввода на веб-сайте Netlify.Я попытался вставить их, но это, казалось, не имело значения, но я мог просто не ждать достаточно долго, чтобы изменения вступили в силу.
Кроме Mongoose, я не запускаю никаких других зависимостей, которые должны иметьлюбое влияние на эту проблему.Срок выполнения проекта составляет пару дней, поэтому любая помощь с этим будет принята с благодарностью.