node.js - MongoNetworkError:第一次连接时无法连接到服务器 [localhost:27017] [MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017]
问题描述
我是nodeJS的新手,开始学习youtube上的预告片,一切都很顺利,直到我添加了mongodb的connect函数,
mongo.connect("mongodb://localhost:27017/mydb")
当我在 cmd (node start-app) 上运行我的代码时,出现以下错误,
MongoNetworkError: failed to connect to server [localhost:27017] on first connect [MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017]
有人可以解释一下我错过了哪一步吗?我的代码:
var express = require("express");
var MongoClient = require('mongodb');
var url = "mongodb://localhost:27017/mydb";
var webService = require("./webService");
var server = express();
MongoClient.connect(url, function (err, db) {
if (err) throw err;
console.log("Database created!");
db.close();
});
server.use(express.urlencoded({ extended: true }));
server.set('views', __dirname);
server.get('/', function (request, response) {
response.sendFile(__dirname + '/MainPage.html');
});
server.get('/Sign', function (request, response) {
response.render(__dirname + '/Sign.ejs');
});
server.post("/signUp", webService.signUp);
server.post("/createUser", webService.createUser);
server.listen(5500);
解决方案
他们中的许多人没有添加这个,特别是在 AWS EC2 实例中,我遇到了同样的问题并尝试了不同的解决方案。解决方案:我在代码中的一个数据库 URL 缺少这个参数“authSource”,添加这个对我有用。
mongodb://myUserName:MyPassword@ElasticIP:27017/databaseName?authSource=admin
推荐阅读
- c# - 如何使用 API 将 base64 图像保存到另一个项目
- javascript - 这个删除功能有什么问题?它似乎没有响应 axios 请求
- python - 从给定的一组输入实现 n 叉树
- python - 以数字顺序读取文件名,而不是使用 glob 进行 ASCI 排序?
- java - Java - 使用池大小为 1 的 ThreadPoolExecutor 来排队并逐个执行任务
- thingsboard - RPC 控制小部件 - getValue 方法的正确响应是什么。如何更改 setValue 以对 onRelease 做出反应,而不是对鼠标的 onClick 做出反应?
- types - 为什么 ReasonML 会抛出这种类型的错误?
- oop - 教授对 Python 作业的回答不会运行:TypeError: __init__() missing 1 required positional argument: 'gender'
- r - tidyr pivot_longer:每行处理多个观察值和值
- python - Python 中 (\xa0) 和 () 的正则表达式).*()