我有一个包含2个角色的应用程序,用户和摄影师。这两个模型之间的差异是用户中的 isAdmin字段和摄影师中的照片[]和用户中的订单[]。但我只需要一次登录!显然,需要不同的观点和路径!我怎样才能做到这一点?如果有任何指南,我将不胜感激!非常感谢!
架构如下:
var userSchema = new Schema({
//some other fields, the same with photographer
isAdmin: { type: Boolean, default: false },
orders: [{
price: { type: Number, default: 0 }
},
{timestamps: true}
]
});
var photographerSchema = new Schema({
//some other fields, the same with user
photos: [{
title: { type: String, default: '' },
path: { type: String },
price: { type: Number, default: 0 },
isAppoved: { type: Boolean, default: false },
},
{timestamps: true}
]
});
答案 0 :(得分:0)
您应该重新考虑您的架构。更好的解决方案是拥有1个User
模型和2个profile
子模型。 User
模型将包含用户的type
,并从子模型中获取配置文件信息(writer_profile / user_profile)。
如果你不重构,这将很快变成一团糟。想想看,当User
和Writer
注册相同凭据时会发生什么?你也需要检查一下。