Javascript MongoNetworkError:到本地主机27017的连接0超时。(不理解以前的解决方案)

Javascript MongoNetworkError:到本地主机27017的连接0超时。(不理解以前的解决方案),javascript,node.js,database,mongodb,mongoose,Javascript,Node.js,Database,Mongodb,Mongoose,这是我的代码,当我尝试将mongoose连接到数据库时,会显示此错误 我已经彻底搜索并找到了这个例子[但我不知道如何在我的项目中使用它] { MongoNetworkError: connection 0 to localhost:27017 timed out at Socket.<anonymous> (C:\Users\ABCD\Pictures\Freelancer\node_modules\mongodb- core\lib\connection\connectio

这是我的代码,当我尝试将mongoose连接到数据库时,会显示此错误

我已经彻底搜索并找到了这个例子[但我不知道如何在我的项目中使用它]

{ MongoNetworkError: connection 0 to localhost:27017 timed out
at Socket.<anonymous> 


(C:\Users\ABCD\Pictures\Freelancer\node_modules\mongodb- 
core\lib\connection\connection.js:259:7)

at Object.onceWrapper (events.js:313:30)
at emitNone (events.js:106:13)
at Socket.emit (events.js:208:7)
at Socket._onTimeout (net.js:422:8)
at ontimeout (timers.js:498:11)
at tryOnTimeout (timers.js:323:5)
at Timer.listOnTimeout (timers.js:290:5)
name: 'MongoNetworkError',
errorLabels: [ 'TransientTransactionError' ],
[Symbol(mongoErrorContextSymbol)]: {} }

THIS IS MY CODE

const express = require('express');
const app = express();
const exphbs = require('express-handlebars'); 
const mongoose = require('mongoose');
//HANDLEBAR MIDDLEWARE
app.engine('handlebars', exphbs({defaultLayout: 'main'}));
app.set('view engine', 'handlebars');
//Connect to mongoose
mongoose.connect('mongodb://localhost/freelancer-dev',{
useNewUrlParser: true
})
.then(()=>console.log('mongodb connected'))
.catch(err=> console.log(err));

const port = process.env.PORT ||5000;
app.listen(port,()=>{
console.log(`listening at port${port}`); 
});
{MongoNetworkError:到本地主机的连接0:27017超时
在插座上。
(C:\Users\ABCD\Pictures\Freeler\node\U模块\mongodb-
core\lib\connection\connection.js:259:7)
在Object.onceWrapper(events.js:313:30)
在emitNone(events.js:106:13)
在Socket.emit(events.js:208:7)
在套接字上超时(net.js:422:8)
在ontimeout(timers.js:498:11)
在tryOnTimeout(timers.js:323:5)
at Timer.listOnTimeout(timers.js:290:5)
名称:“MongoNetworkError”,
errorLabels:['TransientTransactionError'],
[符号(mongoErrorContextSymbol)]:{}
这是我的密码
const express=require('express');
常量app=express();
const exphbs=require('express-handlebar');
const mongoose=require('mongoose');
//把手中间件
app.engine('handlebar',exphbs({defaultLayout:'main'}));
应用程序集(“查看引擎”、“把手”);
//连接猫鼬
猫鼬mongodb://localhost/freelancer-dev',{
useNewUrlParser:true
})
.然后(()=>console.log('mongodb connected'))
.catch(err=>console.log(err));
const port=process.env.port | 5000;
应用程序侦听(端口,()=>{
log(`listing at port${port}`);
});

它需要在服务器上进行调查。mongoose尝试连接到db并超时。mongodb出现问题。似乎是Windows防火墙阻止了连接。请转到“控制面板”,找到有关mongodb的规则并允许连接到itI。我已在Windows 10上下载了mongodb 4.0.4 msi包,在安装它的过程中,我想我得到了它出现一些错误并跳过了该部分。是否需要重新安装它?请尝试重新安装。可能会有所帮助。当我尝试重新安装MongoDB服务时,我收到此错误提示。服务“MongoDB服务器”(MongoDB)启动失败。请验证您是否有足够的权限启动系统服务。谢谢。我重新安装了MongoDB,并最终得到正确的结果:[nodemon]因更改而重新启动…[nodemon]因更改而重新启动…[nodemon]正在启动
node app.js
在端口5000上侦听mongodb已连接:p