node.js - 为什么我在尝试连接到 mongo atlas 时出错(错误:querySrv EREFUSED _mongodb._tcp.cluster0.hovp9.mongodb.net)
问题描述
当我尝试连接到 mongodb atlas 时,我不断收到“错误:querySrv EREFUSED _mongodb._tcp.cluster0.hovp9.mongodb.net”,这是完整的错误
Error: querySrv EREFUSED _mongodb._tcp.cluster0.hovp9.mongodb.net
at QueryReqWrap.onresolve [as oncomplete] (dns.js:203:19) {
errno: 'EREFUSED',
code: 'EREFUSED',
syscall: 'querySrv',
hostname: '_mongodb._tcp.cluster0.hovp9.mongodb.net'
}
我在学习时通过在线编译器打字时使用的是同一个 mongo atlas,但是当我在我的电脑上做同样的事情时,它会显示这个错误,我确信我为所有端口配置了并且我的互联网是一个稳定的。下面是我在 app.js 上的代码
var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
var bodyParser = require('body-parser');
var indexRouter = require('./routes/index');
var adminRouter = require('./routes/admin');
var mongoose=require('mongoose')
var mongo = require('mongodb');
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
mongoose.connect("mongodb+srv://s=icantshowusername:sameforpassword@cluster3.hovp9.mongodb.net/Cluster3?retryWrites=true&w=majority", { useNewUrlParser: true, useUnifiedTopology: true,
useFindAndModify: false }).then((db) => {
console.log("Connected correctly to server");
}, (err) => { console.log(err); });
app.use('/', indexRouter);
app.use('/admin', adminRouter);
// catch 404 and forward to error handler
app.use(function(req, res, next) {
next(createError(404));
});
// error handler
app.use(function(err, req, res, next) {
// set locals, only providing error in development
res.locals.message = err.message;
res.locals.error = req.app.get('env') === 'development' ? err : {};
// render the error page
res.status(err.status || 500);
res.render('error');
});
module.exports = app;
解决方案
推荐阅读
- asp.net-core - APIkey认证webapi核心2.1
- java - 当我尝试在邮递员中返回消息时出现额外的空值
- python - Python Selenium:处理 Webdriver 异常
- docker - 如何在 docker 容器中部署 tpm2-tools
- c++ - 在接口表模块的路径上找不到模块
- html - 具有全局类的第一个类型与本地类不同
- sass - 对声明为 !default 的变量禁用“no-duplicate-dollar-variables”
- javascript - 为什么在尝试绑定 MVC 中的列时在列中查看 [object Object]
- jquery - 通过 JQuery 在输入组件上跟踪更改
- sql - 如何从 SQL 中的临时表重新启动增量