MongoDB не может подключиться к серверу - PullRequest
0 голосов
/ 27 сентября 2018

РЕДАКТИРОВАТЬ: я пробовал несколько разных портов, убивал задачи на портах и ​​пробовал снова, это не работает.

сегодня я начал учебник по стеку MERN, но я не могу подключиться ксервер.Я получаю следующую ошибку при использовании npm run server: Сообщение об ошибке

Я установил рекомендуемую версию узла, использовал npm i для установки express, mongoose, body-parser, одновременно и nodemon.Я следовал каждому этапу урока, но не могу заставить его работать.

Это мои файлы:

server.js

const express = require('express');
const mongoose = require('mongoose');
const bodyParser = require('body-parser');


const app = express();

// Bodyparser Middleware
app.use(bodyParser.json());

// DB Config
const db = require('./config/keys').mongoURI;

// Connect to Mongo
mongoose
  .connect(db, {useNewUrlParser: true}) // Adding new mongo url parser
  .then(() => console.log('MongoDB Connected...'))
  .catch(err => console.log(err));

const port = process.env.PORT || 5000;

app.listen(port, () => console.log(`Server started on port ${port}`));

package.json

{
  "name": "mern_shopping_list",
  "version": "1.0.0",
  "description": "Shopping list built with the MERN stack",
  "main": "server.js",
  "scripts": {
    "start": "node server.js",
    "server": "nodemon server.js"
  },
  "author": "Mario Hess",
  "license": "ISC",
  "dependencies": {
    "body-parser": "^1.18.3",
    "concurrently": "^4.0.1",
    "express": "^4.16.3",
    "mongoose": "^5.2.17"
  },
  "devDependencies": {
    "nodemon": "^1.18.4"
  }
}

keys.js (да, я редактировал MYNAME и PASSWORD!)

module.exports = {
    mongoURI:'mongodb://<MYNAME>:<MYPASSWORD>@ds115193.mlab.com:15193/servasdu'
}

Ответы [ 2 ]

0 голосов
/ 27 сентября 2018

Попробуйте это:

const express = require('express');
const mongoose = require('mongoose');
const bodyParser = require('body-parser');

const app = express();

// Bodyparser Middleware
app.use(bodyParser.json());

// DB Config
// const db = require('./config/keys').mongoURI;
const db = 'mongodb://mario:M010101@ds115963.mlab.com:15963/stack2709';
// Connect to Mongo
mongoose
  .connect(
    db,
    { useNewUrlParser: true }
  ) // Adding new mongo url parser
  .then(() => console.log('MongoDB Connected...'))
  .catch(err => console.log(err));

const port = process.env.PORT || 5000;

app.listen(port, () => console.log(`Server started on port ${port}`));

Я уже создал эту базу данных только для вас.Как вы видите здесь, все в порядке.

enter image description here

Надеюсь, мой ответ поможет!

0 голосов
/ 27 сентября 2018

В сообщении об ошибке указано, что другая задача в настоящее время использует порт 5000. Тогда решение заключается в простой замене порта на что-то другое.Например:

const port = process.env.PORT || 5050;

Это альтернатива.Если вы используете ОС Windows, попробуйте следующее:

В командной строке:

netstat -aon | findstr :5000

Вы получите что-то вроде этого:

enter image description here

Затем:

taskkill /pid xxxxx /f

Необходимо заменить xxxxx на process IDs с правой стороны.Чаще всего нам нужен верхний первый pid.

Делая это, вы завершаете текущую задачу, которая занимает порт 5000.

...