nodejs和mongoose

时间:2017-03-23 16:18:07

标签: node.js mongodb mongoose mongoose-schema

我有一个包含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}
    ]
});

1 个答案:

答案 0 :(得分:0)

您应该重新考虑您的架构。更好的解决方案是拥有1个User模型和2个profile子模型。 User模型将包含用户的type,并从子模型中获取配置文件信息(writer_profile / user_profile)。

如果你不重构,这将很快变成一团糟。想想看,当UserWriter注册相同凭据时会发生什么?你也需要检查一下。