我可以让Passport.js为新的注册帐户添加新字段吗



我有这样的代码:我想让用户有另一个字段,比如他们的电话号码,但我不知道如何添加

const userSchema = new mongoose.Schema({
username: String,
password: String
//// here i want to add another property
});
userSchema.plugin(passportLocalMongoose);
const User = mongoose.model('user', userSchema);
passport.use(User.createStrategy());
passport.serializeUser(User.serializeUser());
passport.deserializeUser(User.deserializeUser());

我的注册是这样的:

User.register({ username: req.body.username }, req.body.password, function (err) {
if (err) {
console.log(err);
res.redirect("/register");
} else {
passport.authenticate("local")(req, res, function () {
res.redirect("/");
});
}
});

我不知道在哪里添加新字段

您就快到了!我建议在您的模式中添加该字段。

const userSchema = new mongoose.Schema({
username: String,
password: String
phoneNumber: String,
});

然后,在您的register调用中,您将把数据传递到User.register方法中。

const user = {
username: req.body.username,
phoneNumber: req.body.phoneNumber,
}
User.register(new User(user), req.body.password, function (err) {
// your callback logic

最新更新