MongoError:连接 ECONNREFUSED 127.0.0.1:27017

2024-10-10 08:38:00
admin
原创
77
摘要:问题描述:我正在使用 NodeJS 和 MongoDB,使用 mongodb 包。当我运行 mongod 命令时,它运行正常,并显示“正在等待端口 27017 上的连接”。因此,mongod 似乎正在工作。但是当我运行 node index.js 命令时,MongoClient 不起作用并给出错误-Mongo...

问题描述:

我正在使用 NodeJS 和 MongoDB,使用 mongodb 包。当我运行 mongod 命令时,它运行正常,并显示“正在等待端口 27017 上的连接”。因此,mongod 似乎正在工作。但是当我运行 node index.js 命令时,MongoClient 不起作用并给出错误-

MongoError: failed to connect to server [localhost:27017] on first connect [MongoError: connect ECONNREFUSED 127.0.0.1:27017]

在此处输入图片描述

我已经安装了 mongo db 3.4,我的代码是-

var MongoClient = require('mongodb').MongoClient;
var dburl       =   "mongodb://localhost:27017/test";
MongoClient.connect(dburl, function(err, db) {
  if (err) {
    throw err;
  }
  console.log('db connected');
  db.close();
});

我已经在 root 上创建了 data/db 目录并赋予了写权限。mongod.conf 文件将 db 路径作为-

存储:数据库路径:/var/lib/mongo

但实际上它似乎将数据库路径设为 data/db 而不是 var/lib/mongo

它之前一直在运行但突然停止了。


解决方案 1:

从 Node.js 14 升级到 17 后,我的应用程序停止运行。

我得到的错误是:

MongoServerSelectionError: connect ECONNREFUSED ::1:27017

解决方案很简单,只需用 替换 即可localhost0.0.0.0也就是说,我必须在源代码中更改:

const uri = "mongodb://localhost:27017/";
const client = new MongoClient(uri);

到:

const uri = "mongodb://0.0.0.0:27017/";
const client = new MongoClient(uri);

解决方案 2:

发生这种情况可能是因为MongoDB服务未启动。请按照以下步骤启动它:

  1. 按键盘上的Windows + R键打开运行窗口。输入services.msc并按键盘上的 Enter 键或单击/点击确定按钮。将打开一个新窗口。

  2. 搜索MongoDB.exe。右键单击它并选择开始

服务器将启动。现在npm start再次执行,代码这次可能会起作用。

解决方案 3:

我忘记启动 MongoDB 了。转到终端中的单独选项卡并输入:

sudo service mongod start

解决方案 4:

在您的设备中搜索services.msc并单击开始以运行mongoDB 服务器

在此处输入图片描述

开始运行 MongoDB 服务器后,你将能够运行你的程序

解决方案 5:

而不是这样:

const url = "mongodb://localhost:27017";

使用这个:

const url = "mongodb://0.0.0.0:27017";

解决方案 6:

对于 Windows - 只需转到 Mongodb 文件夹(例如:C:ProgramFilesMongoDBServer3.4bin)并在文件夹中打开 cmd 并输入“mongod.exe --dbpath c:datadb”

如果 c:datadb 文件夹不存在,则自行创建并再次运行上述命令。

现在一切都应该正常工作了。))

解决方案 7:

方法 1

如果是MAC OS,请运行以下命令并重试:

brew services restart mongodb-community

停止 mongodb-community...(可能需要一段时间)==> 成功停止 mongodb-community(标签:homebrew.mxcl.mongodb-community)==> 成功启动 mongodb-community(标签:homebrew.mxcl.mongodb-community)

解决方案 8:

对于 Windows 用户

发生这种情况是因为 MondgDB 服务器已停止。要修复此问题,您可以:

  1. 1 搜索服务,使用左下角的搜索选项进行搜索。

2 然后会有一个名为“服务”的齿轮图标。

3 点击后,你将看到一个包含许多服务的窗口

4 向下滚动,您将找到‘MongoDB 服务器(MongoDB)’。

5 这样你就会看到有一个启动服务的选项。

6 啟動它。

  1. 1然后打开命令提示符。

2型mongod

现在您可以连接到您的服务器。

如果您的 SQL 服务器服务关闭,此步骤也能正常工作。(查找 SQL 服务器服务)

解决方案 9:

对于 Ubuntu 用户运行
sudo systemctl restart mongod

解决方案 10:

我遇到了以下错误:

Error: connect ECONNREFUSED 127.0.0.1:27017

就我而言,出现此问题是因为根本没有安装 MongoDB。

解决方案是从以下位置安装 MongoDB: https:

//www.mongodb.com/download-center/community

安装后ECONNREFUSED错误不再出现。

希望有所帮助。

解决方案 11:

我刚刚在网上找到了一个解决方案,如果你使用的是最新的 nodejs(v17.x),那么尝试将 mongodb url 从 localhost 更新为 127.0.0.1

参考:https://www.mongodb.com/community/forums/t/mongooseserverselectionerror-connect-econnrefused-127-0-0-1-27017/123421/3

解决方案 12:

如果你已经安装了“MongoDB”,如果你不小心退出了MongoDB服务器,那么“重新启动你的系统”。

这个方法帮我解决了...

[仅限 Windows]

还有另一种方法:

按:

Windows + R

类型:

services.msc

并点击“确定”,打开“服务”窗口,在列表中搜索“MongoDB Server”,找到“MongoDB Server”后,右键点击,在弹出的菜单中选择“启动”。

MongoDb 服务器将开始运行。

希望它有效!!

解决方案 13:

尝试通过使用 mongod 提供 --dbpath 来启动 mongoDB 服务器。

sudo mongod --dbpath /var/lib/mongo/data/db &

最后的 '&' 将在您的服务器上启动 mongodb 服务器作为服务。

希望它有效。

解决方案 14:

您可以运行Cmd as administrator并写入此命令来启动Mongodb service

 net start MongoDB

或者

  1. 单击窗口键 + r 键

  2. 输入 services.msc 并按确定

  3. 等待开服

  4. 搜索 mongodb

  5. 单击右键并开始按
    运行 MongoDB 服务

并重新打开 mongodb

解决方案 15:

按 CTRL+ALT+DELETE/任务管理器,然后转到服务,找到 MongoDB,右键单击它。启动。返回终端。npm start 它将工作。

解决方案 16:

在 Mac 上我必须运行brew services start mongodb-community@4.4

检查:在 macOS 上安装 MongoDB 社区版

解决方案 17:

我遇到了同样的错误,因为我没有安装 mongoDB。请确保您已安装 mongodb,如果没有,您可以从此处下载https://www.mongodb.com/download-center/community

解决方案 18:

对于 Windows 用户:
Mongo 版本 4.4
使用以下命令:
NET STOP MONGODB– 要停止 MongoDB 作为服务,如果返回“mongoDb 服务未运行,则使用以下命令启动服务”
NET START MONGODB– 要启动 MongoDB 作为服务。

这对我有用。

解决方案 19:

只需从终端启动 mongo 服务器

Ubuntu -

     sudo systemctl start mongod

解决方案 20:

已更新此问题的答案!!

所以我尝试了论坛上的所有方法,但没有结果!(从我这边来看)。所以我尝试了这个:

1)进入控制面板

2)选择系统和安全并选择最后一个选项:管理工具。

3)选择服务

4)搜索MongoDB服务器(MongoDB)

5)右键单击它并单击运行。

6)盲目关闭服务

7)最后但并非最不重要的一点是,将您的 mongodb url 更改为mongodb://0.0.0.0:27017/

8)重新启动服务器,这对我有用!

9)因此,我尝试结合论坛中的两个答案!

相关推荐
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   601  
  华为IPD与传统研发模式的8大差异在快速变化的商业环境中,产品研发模式的选择直接决定了企业的市场响应速度和竞争力。华为作为全球领先的通信技术解决方案供应商,其成功在很大程度上得益于对产品研发模式的持续创新。华为引入并深度定制的集成产品开发(IPD)体系,相较于传统的研发模式,展现出了显著的差异和优势。本文将详细探讨华为...
IPD流程是谁发明的   7  
  如何通过IPD流程缩短产品上市时间?在快速变化的市场环境中,产品上市时间成为企业竞争力的关键因素之一。集成产品开发(IPD, Integrated Product Development)作为一种先进的产品研发管理方法,通过其结构化的流程设计和跨部门协作机制,显著缩短了产品上市时间,提高了市场响应速度。本文将深入探讨如...
华为IPD流程   9  
  在项目管理领域,IPD(Integrated Product Development,集成产品开发)流程图是连接创意、设计与市场成功的桥梁。它不仅是一个视觉工具,更是一种战略思维方式的体现,帮助团队高效协同,确保产品按时、按质、按量推向市场。尽管IPD流程图可能初看之下显得错综复杂,但只需掌握几个关键点,你便能轻松驾驭...
IPD开发流程管理   8  
  在项目管理领域,集成产品开发(IPD)流程被视为提升产品上市速度、增强团队协作与创新能力的重要工具。然而,尽管IPD流程拥有诸多优势,其实施过程中仍可能遭遇多种挑战,导致项目失败。本文旨在深入探讨八个常见的IPD流程失败原因,并提出相应的解决方法,以帮助项目管理者规避风险,确保项目成功。缺乏明确的项目目标与战略对齐IP...
IPD流程图   8  
热门文章
项目管理软件有哪些?
云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用