【发布时间】:2020-02-13 19:03:42
【问题描述】:
如果存在,则尝试将 Steam 用户更新为用户模式,否则在 mongodb 中创建新的 Steam 用户。但是我得到了下面的错误。我该如何解决这个问题,我做错了吗?
ValidationError: User validation failed: imageURL: Path `imageURL` is required., username: Path
`username` is required., profileURL: Path `profileURL` is required.
const User = require('./models/user');
User.findOne({ steamId: steamId}, function(err, user){
if(user){
return done(null, user);
}
else{
request(profileURL, function (error, response, body){
if (!error && response.statusCode === 200) {
var data = JSON.parse(body);
var profile = data.response.players[0];
var user = new User();
user.username = profile.personame;
user.profileURL = profile.profileURL;
user.profileImageURL = profile.avatarmedium;
user.steamId = steamId;
user.save(function(err){
done(err, user);
});
}
else{
done(err, null);
}
});
}
});
【问题讨论】:
-
这也是Sequelize吗?看起来这些字段是必需的,因此您必须填充它们。如果不能,请考虑将它们设置为可选或添加一些占位符值。
-
解决了,因为我的模型模式设置为 required: true。删除了必需的。
-
很棒的发现!值得添加一个自我回答,详细介绍并显示您对模型所做的更改。
-
好的,谢谢:)
-
这里是不同线程上的新问题stackoverflow.com/questions/58440150/…
标签: node.js express sequelize.js passport.js