Я новичок в 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 .
Ошибка моего снимка экрана: