当我尝试将用户记录保存到节点中的数据库时,只保存了 id
When I try to save user record to db in node, only id is saved
我在将用户数据保存到 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' + 文档)
document: { _id: 5ea3237a48b41b3cc08bfe1f, __v: 0 }
您在问题中提到的问题与使用模型导入有关
您能否在 (user.model) 模型文件的末尾添加此内容:module.exports = User = mongoose.model("User", userSchema);
并在控制器中导入为 const User = require("../models/user.model");
。
只是想引起注意控制台日志的两种不同行为,“,”和“+”。请检查一下。而且我认为您也不需要以下 4 行:
user.name = req.body.name;
user.email = req.body.email;
user.username = req.body.username;
user.password = req.body.password;
let user = {"_id":"a", "name":"ABCD"};
console.log("doc"+ user)
console.log("doc", user)
我在将用户数据保存到 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' + 文档)
document: { _id: 5ea3237a48b41b3cc08bfe1f, __v: 0 }
您在问题中提到的问题与使用模型导入有关
您能否在 (user.model) 模型文件的末尾添加此内容:module.exports = User = mongoose.model("User", userSchema);
并在控制器中导入为 const User = require("../models/user.model");
。
只是想引起注意控制台日志的两种不同行为,“,”和“+”。请检查一下。而且我认为您也不需要以下 4 行:
user.name = req.body.name;
user.email = req.body.email;
user.username = req.body.username;
user.password = req.body.password;
let user = {"_id":"a", "name":"ABCD"};
console.log("doc"+ user)
console.log("doc", user)