MongooseServerSelectionError: 连接 ECONNREFUSED 127.0.0.1:27017。

6

我使用mongoose将我的数据库连接到了我的应用程序中。

我遇到了这个意外的错误。

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

我在stackoverflow上找到了类似的问题,但那些答案没有解决我的问题。非常感谢您的任何帮助。

4个回答

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

我遇到了类似的问题。尝试一下这个方法:

  1. 打开你的C盘。
  2. 创建一个名为"data"的文件夹。
  3. 在"data"文件夹内再创建一个名为"db"的文件夹。

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


1
当您在没有服务器的情况下运行节点应用程序时,会出现此错误。
解决方法是先运行您的mongodb服务器,然后再运行应用程序。

0
mongodb://localhost:27017/your_db_name更改为mongodb://127.0.0.1:27017/your_db_name
当其他选项都失败时,这对我起作用了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接