“如何修复”;[nodemon]应用程序崩溃-在启动前等待文件更改;在连接mongodb时

“如何修复”;[nodemon]应用程序崩溃-在启动前等待文件更改;在连接mongodb时,mongodb,connection,Mongodb,Connection,我无法连接到mongoDB,这是我每次遇到的错误: [nodemon] 1.19.4 [nodemon] to restart at any time, enter `rs` [nodemon] watching dir(s): *.* [nodemon] watching extensions: js,mjs,json [nodemon] starting `node server.js` Server started on port 5000 Server selection timed o

我无法连接到mongoDB,这是我每次遇到的错误:

[nodemon] 1.19.4
[nodemon] to restart at any time, enter `rs`
[nodemon] watching dir(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node server.js`
Server started on port 5000
Server selection timed out after 30000 ms
[nodemon] app crashed - waiting for file changes before starting...
已尝试: -将mongoDB上的ip访问从随处可见更改为当前ip地址等, -在我当前的ip地址上创建一个新帐户, -禁用防火墙, -检查代码是否有错误, -出于某种原因尝试重新启动我的电脑

这是我的密码

//////server.js/////

const express = require('express');
const connectDB = require('./config/db');

const app = express();

// Connect Database
connectDB();

app.get('/', (req, res) =>
  res.json({ mgs: 'Welcome to the ContactKeeper API...' })
);

// Define Routes
app.use('/api/users', require('./routes/users'));
app.use('/api/auth', require('./routes/auth'));
app.use('/api/contacts', require('./routes/contacts'));

const PORT = process.env.PORT || 5000;

app.listen(PORT, () => console.log(`Server started on port ${PORT}`));

您只需将您的ip添加到mongoDB Atlas的ip白名单中:

网络接入


然后重新启动

您只需将您的ip添加到mongoDB Atlas的ip白名单中:

网络接入

然后重新启动

//////default.json/////
{
  "mongoURI": "mongodb+srv://artur123:<artur123>@contactkeeper-lv2py.mongodb.net/test?retryWrites=true&w=majority"
}
//////db.js/////

const mongoose = require('mongoose');
const config = require('config');
const db = config.get('mongoURI');

const connectDB = () => {
  mongoose
    .connect(db, {
      useNewUrlParser: true,
      useCreateIndex: true,
      useFindAndModify: false,
      useUnifiedTopology: true
    })
    .then(() => console.log('MongoDB Connected'))
    .catch(err => {
      console.error(err.message);
      process.exit(1);
    });
};

module.exports = connectDB;