【发布时间】:2021-05-21 14:20:30
【问题描述】:
我正在学习一个教程,但在某一点上卡住了。我尝试在 Postman 中发出 POST 请求,但返回了一个我无法解决的错误。错误如下:
(node:3224) UnhandledPromiseRejectionWarning: MongooseError: 操作users.insertOne() 缓冲超时
10000 毫秒后
在超时。 (C:\Users\Murad\Desktop\Full Stack\Node\node_modules\mongoose\lib\drivers\node-mongodb-native\collection.js:185:20)
在 listOnTimeout (internal/timers.js:549:17)
在 processTimers (internal/timers.js:492:7)
(使用node --trace-warnings ... 显示警告的创建位置)
(节点:3224)UnhandledPromiseRejectionWarning:未处理的承诺拒绝。此错误源于在没有 catch 块的情况下抛出异步函数内部,或拒绝未使用 .catch() 处理的承诺。要在未处理的 Promise 拒绝时终止节点进程,请使用 CLI 标志 --unhandled-rejections=strict(请参阅 https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode)。 (拒绝编号:1)
(节点:3224)[DEP0018] DeprecationWarning:不推荐使用未处理的承诺拒绝。将来,未处理的 Promise 拒绝将使用非零退出代码终止 Node.js 进程。
代码如下
// index.js File
const express = require('express');
const app = express();
const mongoose = require('mongoose');
// const dotenv = require('dotenv');
// Import Routes
const authRoute = require('./routes/auth');
// Route middleware
app.use(express.json());
app.use('/api/user', authRoute);
// dotenv.config();
const myUrl = 'mongodb+srv://murad:<password>@cluster0.ag5vr.mongodb.net/DatabaseName?retryWrites=true&w=majority';
mongoose.connect(myUrl,
{ useNewUrlParser: true, useUnifiedTopology: true },
() => {
console.log('Connected to db');
})
app.listen(3000, () => console.log('Server up and running'));
// My auth.js (router) file
const router = require('express').Router();
const User = require('../model/User');
router.post('/register', async (req, res) => {
const user = new User({
name: req.body.name,
email: req.body.email,
password: req.body.password
})
const savedUser = await user.save();
res.send(savedUser);
})
module.exports = router;
// And my User.js (model) file
````const mongoose = require('mongoose');
const userSchema = mongoose.Schema({
name: {
type: String,
required: true,
min: 6,
max: 255
},
email: {
type: String,
required: true,
min: 6,
max: 255
},
password: {
type: String,
required: true,
min: 6,
max: 1024
},
date: {
type: Date,
default: Date.now
}
})
module.exports = mongoose.model('User', userSchema);
I tried to look up solutions but none seemed to work. Help would be much appreciated! Thanks in advance
【问题讨论】:
标签: javascript node.js mongodb mongoose