MongooseServerSelectionError:连接 ECONNREFUSED 127.0.0.1:27017

Posted

技术标签:

【中文标题】MongooseServerSelectionError:连接 ECONNREFUSED 127.0.0.1:27017【英文标题】:MongooseServerSelectionError: connect ECONNREFUSED 127.0.0.1:27017 【发布时间】:2021-04-15 19:35:32 【问题描述】:

我使用猫鼬将我的数据库连接到我的应用程序。

我收到了这个意外错误。

我的 app.js 看起来像这样

const express = require('express');
const mongoose = require('mongoose');
const authRoutes = require('./routes/authRoutes');
const cookieParser = require('cookie-parser');
const  requireAuth, checkUser  = require('./middleware/authMiddleware');
const run = require('./admin/connection');

const app = express();

// middleware
app.use(express.static('public'));
app.use(express.json());
app.use(cookieParser());

const default : AdminBro = require('admin-bro');
const buildAdminRouter = require('./admin/admin.router');
const options = require('./admin/admin.options');
const port = 3000;


const url = 'mongodb://localhost:27017/dbName';
let mongooseDb;
const databaseConnect = async () => 
  mongooseDb = await mongoose.connect(url,  useNewUrlParser: true, useUnifiedTopology: true, useCreateIndex:true )
  .then((result) => app.listen(3000))
  .catch((err) => console.log(err));

  const db = mongoose.connection;
  db.on('error', console.error.bind(console, 'connection error:'));
  db.once('open', function() 
    console.log("we are connected to database");
  );
  
    const admin = new AdminBro(options)
    const router = buildAdminRouter(admin);
    app.use(admin.options.rootPath, router);

  
;
databaseConnect();

我已经安装了 mongodb 数据库。

我已经在 *** 中找到了类似的问题,但这些答案并没有解决我的问题。任何帮助将不胜感激。谢谢

【问题讨论】:

【参考方案1】:

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

brew services restart mongodb-community

接下来的命令如下:

Stopping mongodb-community... (might take a while)
==> Successfully stopped mongodb-community (label: homebrew.mxcl.mongodb-community)
==> Successfully started mongodb-community (label: homebrew.mxcl.mongodb-community)

【讨论】:

【参考方案2】:

当您在没有服务器的情况下运行节点应用程序时会发生此错误。

修复是先运行你的 mongodb 服务器,然后再运行你的应用程序。

【讨论】:

【参考方案3】:

我遇到了类似的问题。试试这个:

    打开你的 C 盘。 创建一个名为“data”的文件夹。 在此数据文件夹名称“db”中创建另一个文件夹。

您可以在文档中看到默认情况下 MongoDB 会尝试搜索这些目录,我们必须手动创建这些目录

【讨论】:

以上是关于MongooseServerSelectionError:连接 ECONNREFUSED 127.0.0.1:27017的主要内容,如果未能解决你的问题,请参考以下文章