【发布时间】:2020-08-08 08:26:36
【问题描述】:
我在将用户数据保存到 MongoDB 时遇到问题;保存功能只保存用户的 id,而且当我在尝试保存之前登录用户时,我也只得到 id。 当我登录 req.body 时,我会得到所有数据。
我猜问题出在实例化 userSchema 的某个地方。
const userSchema = require('../models/user.model');
var User = mongoose.model('user', userSchema);
这是我的代码:
module.exports.register = (req, res, next) => {
var user = new User(req.body);
user.name = req.body.name;
user.email = req.body.email;
user.username = req.body.username;
user.password = req.body.password;
user.save((err, doc) => {
if (!err) {
res.send(doc);
}
else {
console.log(err);
if (err.code == 11000) {
res.status(422).send(['Duplicate email adrress found.']);
}
else
return next(err);
}
});
}
这是我的 console.log(req.body)
{
name: 'name',
email: 'mail@mail',
username: 'username123',
password: '12345'
}
这是 console.log('document' + doc)
document: { _id: 5ea3237a48b41b3cc08bfe1f, __v: 0 }
【问题讨论】:
-
你能显示你的用户架构吗
-
当然,这里是: const userSchema = new Schema({ name: { type: String, required: [true, 'This field can\'t be empty'] }, email: { type : String, required: [true, 'This field can\'t be empty'] }, username: { type: String, required: [true, 'This field can\'t be empty'] }, password: { type : String, required: [true, '该字段不能为空'] }, saltSecret: String });
-
请看答案。
标签: node.js mongodb saving-data