我有一个正在尝试注册用户的应用程序。在我的中间件实现中,我具有在用户输入名字和姓氏,电子邮件和密码时创建用户对象的代码。但是,当我通过控制台记录新用户对象时,这些属性不会更新。只需控制台记录未定义的firstName即可。在我的架构中,名字,姓氏和电子邮件是嵌套的。
我已经尝试使用点表示法来访问架构中的特定属性。
用户架构
const userSchema = mongoose.Schema({
empID: {
type: String,
trim: true
},
password: {
type: String,
required: true
},
userInfo: {
lastName: {
type: String,
trim: true
},
firstName: {
type: String,
trim: true
}
},
contactInfo: {
email: {
type: String,
required: true
unique: true,
},
phone: [{
home: {
type: String,
trim: true
},
mobile: {
type: String,
trim: true
}
}]
}
用户路线
router.post('/register', UserController.createUser);
用户控制器
exports.createUser = (req, res, next) => {
console.log("Before creating user");
//Creates new user
let newUser = new User({
firstName: req.body.firstName,
lastName: req.body.lastName,
email: req.body.email,
password: req.body.password
});
console.log(req.body.firstName);
console.log(newUser.toJSON());
答案 0 :(得分:0)
由于没有您的app.js文件的示例,因此我在黑暗中拍摄... 尝试使用:
const bodyParser = require('body-parser');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));