Localhost не подключается к mongodb после развертывания в Heroku - PullRequest
0 голосов
/ 12 апреля 2019

Я работал с localhost нормально с mongodb, а затем переключился на mLab, и это тоже нормально, но теперь, пытаясь снова запустить базу данных с localhost, я получаю ошибку 422 при попытке соединения.

GET http://localhost:3000/api/wines 422 (Unprocessable Entity)

Я однажды развернул этот сайт и смог переключаться туда и обратно, поэтому не уверен, что не так.

Это мой код server.js:

const express = require("express");
const path = require("path");
const PORT = process.env.PORT || 3001;
const app = express();
const mongoose = require("mongoose");
const routes = require("./routes");

// Connect to the Mongo DB

mongoose.connect(process.env.MONGODB_URI || 'mongodb://localhost:27017/wineDB', { useNewUrlParser: true });
mongoose.connection.on("open", function (ref) {
  console.log("Connected to mongo server.");
});
mongoose.connection.on('error', function (err) { console.log(err) });

// require("./models/wine");

// Define middleware here
app.use(express.urlencoded({ extended: true }));
app.use(express.json());
// Serve up static assets (usually on heroku)
if (process.env.NODE_ENV === "production") {
  app.use(express.static("client/build"));
}
// Add routes, both API and view
app.use(routes);

// Define API routes here

// Send every other request to the React app
// Define any API routes before this runs
app.get("*", (req, res) => {
  res.sendFile(path.join(__dirname, "./client/build/index.html"));
});

app.listen(PORT, () => {
  console.log(`? ==> API server now on port ${PORT}!`);
});

Мне интересно, пытается ли мой код выполнить производственный режим, необходимый для подключения к mlab и не позволяющий мне подключаться к БД через localhost?

1 Ответ

0 голосов
/ 13 апреля 2019

На самом деле, я был не прав насчет источника. Это было потому, что у меня был порт 3001, работающий где-то в фоновом режиме, поэтому, когда я убил его, это решило проблему!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...