gpt4 book ai didi

javascript - 未处理的PromiseRejection警告: ValidationError

转载 作者:行者123 更新时间:2023-12-03 01:47:57 26 4
gpt4 key购买 nike

几天以来我遇到了麻烦。我正在学习 MEAN 堆栈,但是在使用 mongoose 模式在 mongo 上创建用户期间,我遇到了这个问题:

(node:93337) UnhandledPromiseRejectionWarning: ValidationError: User validation failed: username: Path username is required., password: Path password is required., email: Path email is required.

这是我的代码:

服务器部分:

mongoose.connect('mongodb://localhost:27017/Wisebatt', err => {
if (err) {
console.log(`Not connected to db ${err}`)
} else {
console.log('Successfully connected to db')
}
})

...

app.post('/register', (req, res) => {
const user = new User();
user.username = req.body.username;
user.password = req.body.password;
user.email = req.body.email;
user.save();
res.send('User created');
});

用户架构:

const mongoose = require('mongoose');
const Schema = mongoose.Schema;

const UserSchema = new Schema({
username: { type: String, required: true, unique: true},
password: { type: String, required: true },
email: { type: String, required: true, unique: true},
});

module.exports = mongoose.model('User', UserSchema);

以下是我正在使用的附加组件:

  • express ,
  • Node 兽,
  • morgan ,
  • 正文解析器,
  • Mongo(运行 mongod 和 Mongoose)

最佳答案

尝试将其添加到路线之前的快速代码中。这是一个中间件,当您向后端发送请求时,它将设置 req.body 对象。 (您还需要 npm install --save body-parser)

const bodyParser = require('body-parser')
app.use(bodyParser.urlencoded({ extended: true }))
app.use(bodyParser.json())

如果您使用的是休息客户端。确保您有一个请求 header ,例如:

Content-Type: application/x-www-form-urlencoded

关于javascript - 未处理的PromiseRejection警告: ValidationError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50548404/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com