【问题标题】:MongooseServerSelectionError: connect ECONNREFUSED 127.0.0.1:27017MongooseServerSelectionError:连接 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 数据库。

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

【问题讨论】:

    标签: javascript node.js web-development-server admin-bro


    【解决方案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】:

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

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

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

        【讨论】: