MongoDB 无法连接到服务器
MongoDB can't connect to Server
编辑:我尝试了几个不同的端口,终止了端口上的任务并再次尝试,它不起作用。
今天我开始了关于 MERN 堆栈的教程,但我无法连接到服务器。
使用 npm 运行 服务器时出现以下错误:
Error Message
我安装了推荐版本的node,用npm i安装了express、mongoose、body-parser、concurrently和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(是的,我编辑了我的名字和密码!)
module.exports = {
mongoURI:'mongodb://<MYNAME>:<MYPASSWORD>@ds115193.mlab.com:15193/servasdu'
}
错误说,另一个任务当前正在使用端口 5000。那么,解决方法很简单,将端口更改为其他端口。例如:
const port = process.env.PORT || 5050;
这是一个备选方案。如果您使用 Windows OS,试试这个:
在您的命令行中:
netstat -aon | findstr :5000
你会得到这样的东西:
然后:
taskkill /pid xxxxx /f
右边的xxxxx
需要换成process IDs
。大多数时候,排在第一位的 pid
就是我们需要的。
这样就终止了当前占用5000端口的任务
试试这个:
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}`));
我已经为您制作了这个数据库。正如你在这里看到的,一切都很好。
希望我的回答对您有所帮助!
编辑:我尝试了几个不同的端口,终止了端口上的任务并再次尝试,它不起作用。
今天我开始了关于 MERN 堆栈的教程,但我无法连接到服务器。 使用 npm 运行 服务器时出现以下错误: Error Message
我安装了推荐版本的node,用npm i安装了express、mongoose、body-parser、concurrently和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(是的,我编辑了我的名字和密码!)
module.exports = {
mongoURI:'mongodb://<MYNAME>:<MYPASSWORD>@ds115193.mlab.com:15193/servasdu'
}
错误说,另一个任务当前正在使用端口 5000。那么,解决方法很简单,将端口更改为其他端口。例如:
const port = process.env.PORT || 5050;
这是一个备选方案。如果您使用 Windows OS,试试这个:
在您的命令行中:
netstat -aon | findstr :5000
你会得到这样的东西:
然后:
taskkill /pid xxxxx /f
右边的xxxxx
需要换成process IDs
。大多数时候,排在第一位的 pid
就是我们需要的。
这样就终止了当前占用5000端口的任务
试试这个:
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}`));
我已经为您制作了这个数据库。正如你在这里看到的,一切都很好。
希望我的回答对您有所帮助!