我正在使用mongodb软件包的MongoDB使用NodeJS。当我运行mongod命令时,它工作正常,并给出“等待端口27017上的连接”。因此,mongod似乎正在工作。但是,当我运行节点index.js命令时,MongoClient无法正常工作并给出错误信息-
MongoError: failed to connect to server [localhost:27017] on first connect [MongoError: connect ECONNREFUSED 127.0.0.1:27017]
Run Code Online (Sandbox Code Playgroud)
我已经安装了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();
});
Run Code Online (Sandbox Code Playgroud)
我已经在根目录上创建了data / db目录,并赋予了写权限。mongod.conf文件将数据库路径作为-
存储:dbPath:/ var / lib / mongo
但是似乎实际上是将db路径作为data / db而不是var / lib / mongo
它工作较早,但突然停止了。
Pag*_*und 323
从 Node.js 14 升级到 17 后,我的应用程序停止工作。
我得到的错误是:
MongoServerSelectionError: connect ECONNREFUSED ::1:27017
Run Code Online (Sandbox Code Playgroud)
解决方案只是简单地替换localhost
为0.0.0.0
. 即在我的源代码中我必须更改:
const uri = "mongodb://localhost:27017/";
const client = new MongoClient(uri);
Run Code Online (Sandbox Code Playgroud)
到:
const uri = "mongodb://0.0.0.0:27017/";
const client = new MongoClient(uri);
Run Code Online (Sandbox Code Playgroud)
Seh*_*eed 20
而不是这个:
const url = "mongodb://localhost:27017";
Run Code Online (Sandbox Code Playgroud)
用这个:
const url = "mongodb://0.0.0.0:27017";
Run Code Online (Sandbox Code Playgroud)
Bay*_*bir 19
方法一
\n\n\n如果是\xe2\x80\x99s MAC OS,请运行以下命令并重试:
\n
brew services restart mongodb-community\n
Run Code Online (Sandbox Code Playgroud)\n\n\n正在停止 mongodb-community...(可能需要一段时间)\n==> 成功停止 mongodb-community(标签:homebrew.mxcl.mongodb-community)\n==> 成功启动 mongodb-community(标签:homebrew.mxcl) .mongodb-社区)
\n
Son*_*rav 14
发生这种情况可能是因为未启动MongoDB服务。请按照以下步骤启动它:
服务器将启动。现在npm start
再次执行,代码这次可能会工作。
mat*_*0ss 10
我完全忘了启动 MongoDB。转到终端中的单独选项卡并键入:
sudo service mongod start
Run Code Online (Sandbox Code Playgroud)
krn*_*h16 10
如果你已经安装了“MongoDB”,如果你不小心退出了MongoDB服务器,那么“重新启动你的系统”。
这个方法为我解决了...
[仅适用于 Windows]
还有另一种方法:
按:
Windows + R
Run Code Online (Sandbox Code Playgroud)
类型:
services.msc
Run Code Online (Sandbox Code Playgroud)
单击“确定”,将打开“服务”窗口,然后在列表中搜索“MongoDB Server”。找到“MongoDB Server”后,右键单击并从弹出菜单中选择“启动”。
MongoDb 服务器将开始运行。
希望它有效!
小智 8
对于 Windows 用户。
发生这种情况是因为 MondgDB 服务器已停止。你可以解决这个问题,
1 搜索服务,使用左下角搜索选项进行搜索。
2 然后有一个以“服务”命名的齿轮图标。
3 点击后会出现一个窗口,里面有很多服务
4 向下滚动,您将找到“MongoDB 服务器(MongoDB)”。
5 所以你会看到有一个选项来启动服务。
6 开始吧。
1 然后打开你的命令提示符。
2型 mongod
现在您可以连接到您的服务器。
如果您的 sql server 服务关闭,此步骤也可以正常工作。(查找sql server服务)
我有以下错误:
Error: connect ECONNREFUSED 127.0.0.1:27017
Run Code Online (Sandbox Code Playgroud)
就我而言,发生此问题是因为根本没有安装 MongoDB。
解决方案是从以下位置安装 MongoDB:https :
//www.mongodb.com/download-center/community
安装后ECONNREFUSED
错误没有再出现。
希望有帮助。
小智 7
您可以运行Cmd as administrator
并编写以下命令来启动Mongodb service
:
net start MongoDB
Run Code Online (Sandbox Code Playgroud)
或者
并重新打开 mongodb
对于Windows-只需转到Mongodb文件夹(例如:C:\ ProgramFiles \ MongoDB \ Server \ 3.4 \ bin),然后在该文件夹中打开cmd,然后键入“ mongod.exe --dbpath c:\ data \ db”
如果c:\ data \ db文件夹不存在,请自行创建它,然后再次运行以上命令。
到现在一切都应该正常工作。))
小智 6
我有同样的错误,因为我没有安装 mongoDB。确保你已经安装了 mongodb,如果没有,你可以从这里下载https://www.mongodb.com/download-center/community
尝试通过给--dbpath提供mongod来启动mongoDB服务器。
sudo mongod --dbpath /var/lib/mongo/data/db &
Run Code Online (Sandbox Code Playgroud)
最后的“&”将启动mongodb服务器作为服务器上的服务。
希望它能工作。
小智 5
对于 Windows 用户:\n Mongo 版本 4.4 \n使用以下命令:\n NET STOP MONGODB
\xe2\x80\x93 要停止 MongoDB 作为服务,如果返回“mongoDb 服务未运行,则使用以下命令启动服务”\n NET START MONGODB
\xe2 \x80\x93 将 MongoDB 作为服务启动。
这对我有用。
\n 归档时间: |
|
查看次数: |
29807 次 |
最近记录: |