【发布时间】:2020-09-19 23:59:52
【问题描述】:
我试图在正文中只给出名称,并希望在邮递员中出错......但是邮递员中的状态响应是 201 创建的,但它在控制台中抛出错误
UnhandledPromiseRejectionWarning:ValidationError:用户验证失败:密码:路径password 是必需的。电子邮件:路径email 是必需的。
在 model.Document.invalidate (C:\projects\MERN\backend\node_modules\mongoose\lib\document.js:2564:32)
在 C:\projects\MERN\backend\node_modules\mongoose\lib\document.js:2386:17
在 C:\projects\MERN\backend\node_modules\mongoose\lib\schematype.js:1181:9
在 processTicksAndRejections (internal/process/task_queues.js:79:11)
(节点:6524)UnhandledPromiseRejectionWarning:未处理的承诺拒绝。此错误源于在没有 catch 块的情况下抛出异步函数内部,或拒绝未使用 .catch() 处理的承诺。要在未处理的 Promise 拒绝时终止节点进程,请使用 CLI 标志 --unhandled-rejections=strict(请参阅 https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode)。 (拒绝编号:1)
(节点:6524)[DEP0018] DeprecationWarning:不推荐使用未处理的承诺拒绝。将来,未处理的 Promise 拒绝将使用非零退出代码终止 Node.js 进程。
为什么邮递员没有错误???????????
const mongoose = require('mongoose')
const userSchema = new mongoose.Schema({
name:{
type : String,
required : true
},
email:{
type : String,
required : true,
unique:true,
},
password:{
type : String,
required : true,
minlength: 7
},
date:{
type :Date,
default: Date.now
}
})
const User = mongoose.model('User',userSchema)
module.exports = User
router.post("/", async (req, res) => {
try {
const user = await new User(req.body);
user.save();
res.status(201).send({user});
} catch (e) {
res.status(500).send(e);
}
});
【问题讨论】:
标签: javascript node.js mongoose postman