Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js MongoDB可以';无法连接到服务器_Node.js_Mongodb_Express_Mongoose_Mern - Fatal编程技术网

Node.js MongoDB可以';无法连接到服务器

Node.js MongoDB可以';无法连接到服务器,node.js,mongodb,express,mongoose,mern,Node.js,Mongodb,Express,Mongoose,Mern,编辑:我尝试了几个不同的端口,终止了端口上的任务,然后再试一次,结果无效 今天我开始了一个关于MERN堆栈的教程,但是我无法连接到服务器。 使用npm运行服务器时,我遇到以下错误: 我安装了推荐版本的node,使用npmi安装了express、mongoose、body解析器和nodemon。 我遵循了教程的每一步,但我无法让它工作 这些是我的文件: server.js const express = require('express'); const mongoose = require('

编辑:我尝试了几个不同的端口,终止了端口上的任务,然后再试一次,结果无效

今天我开始了一个关于MERN堆栈的教程,但是我无法连接到服务器。 使用npm运行服务器时,我遇到以下错误:

我安装了推荐版本的node,使用npmi安装了express、mongoose、body解析器和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://:@ds115193.mlab.com:15193/servasdu'
}

错误显示,另一个任务当前正在使用端口5000。然后,解决方案是将端口更改为其他端口。例如:

const port = process.env.PORT || 5050;
这是另一种选择。如果您使用的是Windows操作系统,请尝试以下操作:

在命令行中:

netstat -aon | findstr :5000
你会得到这样的结果:

然后:

需要将
xxxxx
替换为右侧的
过程ID
。大多数情况下,最前面的
pid
就是我们需要的

通过执行此操作,您将终止占用端口5000的当前任务。

尝试以下操作:

const express=require('express');
const mongoose=require('mongoose');
const bodyParser=require('body-parser');
常量app=express();
//体分析器中间件
use(bodyParser.json());
//数据库配置
//const db=require('./config/keys')。mongoURI;
常数db=mongodb://mario:M010101@ds115963.mlab.com:15963/stack2709';
//连接到Mongo
猫鼬
.连接(
db,
{useNewUrlParser:true}
)//添加新的mongo url解析器
.then(()=>console.log('MongoDB Connected…'))
.catch(err=>console.log(err));
const port=process.env.port | 5000;

app.listen(端口,()=>console.log(`Server start on port${port}`))该错误告诉您端口5000已在使用中。尝试更改端口,看看它是否工作,如果工作正常,请检查该端口上是否没有任何节点或任何其他软件的悬空进程。我尝试了几个不同的端口!嘿,伙计,我想你对诺德蒙有意见了。只需尝试使用node运行。尝试npm start。我尝试使用节点npm start运行。同样的问题!我刚刚给你做了另一个回答
netstat -aon | findstr :5000
taskkill /pid xxxxx /f