提问者:小点点

MongoError:连接ECONNREFUSED127.0.0.1:27017


我使用NodeJS wih MongoDB使用mongoDB包。当我运行mongod命令时,它工作正常,并给出“等待端口27017上的连接”。所以,mongod似乎在工作。但是MongoClient不工作,当我运行node index. js命令时出错-

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

我已经安装mongodb 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目录并授予写入权限。monold. conf文件将db路径作为-

存储:dbPath: /var/lib/mongo

但看起来它实际上是将db路径作为data/db而不是var/lib/mongo

它工作得很早,但突然停止了。


共3个答案

匿名用户

从Nodejs 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);

我发布这个作为答案,因为我在互联网上找不到解决方案,我在这个问题上浪费了很多时间…

匿名用户

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

  1. 转到控制面板并单击管理工具。
  2. 双击服务。打开一个新窗口。
  3. 搜索MongoDB. exe。右键单击它并选择开始。

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

匿名用户

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

sudo service mongod start