我遇到了一个问题,当我尝试创建新用户时,我遇到以下错误:
ValidationError: User validation failed: 0.password: Path
{0.password {1}} {0.email {1}}
现在端点曾经工作过,我想它与db本身有什么关系,但是我不知道我的生活会弄清楚该怎么做。
我当然传递了有效数据。
这是模型和有效载荷:
is required., 0.email: Path
和要保存的有效负载(这是在保存之前调试的)是:
is required.
有人可以帮忙吗?
答案 0 :(得分:0)
我认为你正在失去这个"这个"上下文。
userSchema.pre('save', function(next) {
var user = this;
// generate a salt
bcrypt.genSalt(10, function(err, salt) {
if (err) return next(err);
// hash the password using our new salt
bcrypt.hash(user.password, salt, function(err, hash) {
if (err) return next(err);
// override the cleartext password with the hashed one
user.password = hash;
next();
});
});
});
答案 1 :(得分:0)
结束搞清楚问题。 有两个:
E11000 duplicate key error index: chat-app1.users.$0.email_1 dup key: { : null }'
这让我相信这是一个索引问题。转储集合索引修复基础并清除索引后,它们全部再次运行