【发布时间】:2018-03-29 11:16:32
【问题描述】:
当我尝试使用 Mongoose 将新文档(用户)保存/创建到 Mongo DB 时,尽管为所有值提供了正确的 DataType,但我收到以下验证错误:
ValidationError:用户验证失败:用户名:路径username 是必需的。
我是 Node JS 和 Mongo DB 的初学者。因此,我无法理解出了什么问题。
我还添加了以下模块:
- 快递
- 蒙古人
- 猫鼬
- 正文解析器
详情请见下文:
详细错误:
{
"errors": {
"username": {
"message": "Path `username` is required.",
"name": "ValidatorError",
"properties": {
"type": "required",
"message": "Path `{PATH}` is required.",
"path": "username"
},
"kind": "required",
"path": "username",
"$isValidatorError": true
}
},
"_message": "User validation failed",
"message": "User validation failed: username: Path `username` is required.",
"name": "ValidationError"
}
用户架构/模型:
var mongoose = require("mongoose");
var userSchema = new mongoose.Schema({
firstName: {
type: String,
required: true
},
lastName: {
type: String,
required: true
},
username: {
type: String,
unique: true,
required: true
},
password: {
type: String,
required: true
}
});
mongoose.model("User", userSchema, "users");
用户控制器:
var register = function (req, res) {
console.log("Registering User.");
var firstName = req.body.firstname;
var lastName = req.body.lastname;
var userName = req.body.username;
var password = req.body.password;
User
.create({
firstName: firstName,
lastName: lastName,
userName: userName,
password: password
}, function (err, user) {
if (err) {
console.log("Error creating User: ", err);
res
.status(400)
.json(err)
} else {
console.log("User Created: ", user);
res
.status(201)
.json(user)
}
})
};
我只是不明白,为什么我会收到此验证错误。 任何人都可以指导我完成这个。感谢您的帮助。
【问题讨论】:
-
属性名称区分大小写。您传递的是“用户名”而不是“用户名”。
-
天啊……真是个愚蠢的错误。非常感谢。
标签: node.js mongodb express mongoose