【问题标题】:Mongo DB: ValidationError: User validation failed: username: Path `username` is requiredMongo DB:ValidationError:用户验证失败:用户名:需要路径“用户名”
【发布时间】:2021-11-30 01:12:00
【问题描述】:
【问题讨论】:
标签:
node.js
mongodb
express
mongoose
【解决方案1】:
这是因为在发布请求中您没有填写用户名字段,为什么会发生这种情况:
它可能是其中之一:
- 您没有在前端输入名称标签
- 你把名字复制错了
(req.body.[wrongname])
- 您错误地将名称添加到数据库中。
new userModel({username: [wrong data]})
我会给你一个例子,用 node 发送用户名到 mongo。
- 你应该安装
bodyParser和mongoose (npm I body-parser, npm I mongoose)
- 考虑下面的代码
const express = require('express');
const app = express();
const bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({
extended: false
}))
app.use(bodyParser.json())
let userSchema = new mongoose.Schema({
username: {
type: String
}
})
let userModel = new mongoose.Model('users', userSchema);
app.get('/signup', (req, res) => {
res.render('signup')
})
app.post('/signup', (req, res) => {
const username = req.body.username;
let newUser = new userModel({
username: username
})
newUser.save(function (err, doc) {
res.send(doc)
});
})