我正在研究Mongodb,我正在使用Mongoose,我想创建一个非常动态的注册过程.我使用Passport管理了注册的第一步,一切正常,我创建了用户,它存在于数据库中.现在我的注册过程将继续,用户必须选择"角色":您是什么类型的用户?有两个选项:"基本"和"高级".Basic只有3个属性,advanced有3个基本属性和其他几个属性.
我需要扩展userSchema
或添加基于该角色的新字段,但在一周之后它还没有工作,我尝试了很多NPM
像:mongoose-relationship或mongoose-schema-extend.
这基本上就是我所拥有的:
userSchema = new Schema({ id : Number, email : { type: String, required: true }, role : { type: String, required: true }, profile : { ... } // Profile fields are different for each role. }); // profile 1 basicSchema = new Schema({ info1 : { type: String, required: true }, info2 : { type: String, required: true }, info3 : { type: String, required: true } }); // profile 2 advancedSchema = new Schema({ info1 : { type: String, required: true }, info2 : { type: String, required: true }, info3 : { type: String, required: true }, info4 : { type: String, required: true }, info5 : { type: String, required: true }, info6 : { type: String, required: true } });
用户已经存在并且他在屏幕上需要选择角色并填充所选的配置文件.
有关信息,我正在使用nodejs和expressjs.
我希望你能提供帮助.谢谢.