我想为我的网络应用程序提供不同类型的用户。他们将拥有普通用户的所有方法,但具有不同的模式,特别是settings
和profile
。例如:
var UserBase = {
emails: {
type: [Object],
optional: true
},
// ... etc not important
}
AdminSchema = new SimpleSchema(_.extend(UserBase, {
profile: {
type: AdminProfileSchema
},
settings: {
type: AdminSettingsSchema
}
}));
UserSchema = new SimpleSchema(_.extend(UserBase, { // yada yada });
// more or less what I want to do:
Meteor.users.attachSchema(AdminSchema, { role: "admin" });
Meteor.users.attachSchema(UserSchema, { role: "user"});
是否可以将不同的模式附加到Meteor.users,假设没有冲突?
答案 0 :(得分:2)
我将两个模式(user,admin)作为主用户模式的子对象,如果没有设置则等于null,如下所示:
var UserSchema = {
emails: {
type: [Object],
optional: true
},
// ... etc not important
admin: {
type: AdminSchema,
optional: true
},
user: {
type: UserSchema,
optional: true
}
}