MongooseServerSelectionError: connect ECONNREFUSED 127.0.0.1:27017

MongooseServerSelectionError: connect ECONNREFUSED 127.0.0.1:27017

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

我遇到了这个意外错误。

我的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 数据库。

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

我遇到了类似的 problem.Give 尝试这个:

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

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

如果是 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)

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

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