node.js - 我可以让 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,
});
然后在您的注册电话中,您会将数据传递给该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
推荐阅读
- java - 如何在微服务架构中设置 Keycloak + Spring Boot + Oauth2
- angular - primeNg 升级是否需要 Angular 升级?
- sql - 将连接表的前 10 个选定行(所有列)放入数组或变量表中的 SQL Server 方法
- odoo - 获取存储在文件存储 odoo 11 中的图像
- javascript - 添加新文档时正在检查 Firebase 列表权限
- reactjs - 在 ReactJS 中滚动嵌套组件
- java - 如何在 Java 中为 Elasticsearch 编写适当的单元测试
- c - 指针可以指向内存是不是没有分配?
- python - scipy中0阶的上不完全伽玛函数
- hadoop - 如何在不插入任何记录的情况下通过配置单元表模式推断镶木地板模式?