MongoDb Atlas: UnhandledPromiseRejectionWarning - MongooseTimeoutError - PullRequest
0 голосов
/ 26 января 2020

Я новичок в mongodb и в настоящее время следую этой статье: https://medium.com/@beaucarnes / Learn-the-Mern-Stack-By-Building-Trace-Tracker-Mern-Tutorial-59c13c1237a1

Я использую атлас mongoDB в качестве предлагаемого курса, а также включаю в него мой IP-адрес, как и многие ответы.

Файл: .env

ATLAS_URI=mongodb+srv://sagar:<mypass>@cluster0-2gcdi.gcp.mongodb.net/test?retryWrites=true&w=majority

server . js

const express = require('express');
const cors = require('cors');
const mongoose = require('mongoose');

require('dotenv').config();

const app = express();
const port = process.env.PORT || 5000;

app.use(cors());
app.use(express.json());

const uri = process.env.ATLAS_URI;
mongoose.connect(uri, { useUnifiedTopology: true, useNewUrlParser: true, useCreateIndex: true }
);
const connection = mongoose.connection;
connection.once('open', () => {
  console.log("MongoDB database connection established successfully");
})

const usersRouter = require('./routes/users');

app.use('/users', usersRouter);

app.listen(port, () => {
    console.log(`Server is running on port: ${port}`);
});

user.model. js

const mongoose = require('mongoose');

const Schema = mongoose.Schema;

const userSchema = new Schema({
  username: {
    type: String,
    required: true,
    unique: true,
    trim: true,
    minlength: 3
  },
}, {
  timestamps: true,
});

const User = mongoose.model('User', userSchema);

module.exports = User;

маршруты: пользователи. js

const router = require('express').Router();
let User = require('../models/user.model');

router.route('/').get((req, res) => {
  User.find()
    .then(users => res.json(users))
    .catch(err => res.status(400).json('Error: ' + err));
});

router.route('/add').post((req, res) => {
  const username = req.body.username;

  const newUser = new User({username});

  newUser.save()
    .then(() => res.json('User added!'))
    .catch(err => res.status(400).json('Error: ' + err));
});

module.exports = router;

в данный момент показывает ошибку в console:

UnhandledPromiseRejectionWarning: MongooseTimeoutError: Тайм-аут выбора сервера через 30000 мс на новом MongooseTimeoutError (C: \ Users \ sagar \ OneDrive \ Desktop \ nodejs \ mern-тренинг-трекер \ backend \ node_modules \ mongoose \ lib \ error \ timeout. js: 22: 11)

Я также тестирую свой API в почтальоне, где он показывает:

Не удалось получить любой ответ Произошла ошибка при подключении к http://localhost: 5000 / users / add .

Ошибка моего снимка экрана: enter image description here

...