【问题标题】:Mongodb/Mongoose : create two types of models for user accountsMongodb/Mongoose:为用户帐户创建两种类型的模型
【发布时间】:2016-12-02 04:58:28
【问题描述】:

我在 nodejs 中使用 mongoose,我正在寻找一些关于 MongoDB 架构的建议,以拥有两种类型的用户:员工和客户,他们都将使用相同的注册页面(我使用护照作为认证)。

我正在考虑创建一个公共帐户模型(用于员工和客户),其中将包含一些公共内容,例如电子邮件、通行证、姓名等,然后将帐户 shema 嵌入员工和客户模型中。

我不确定这是否是正确的方法,因此非常感谢任何建议。

谢谢。

【问题讨论】:

    标签: javascript node.js mongodb mongoose


    【解决方案1】:

    因为employeeclient 都有很多共同的属性,但很少有专门的属性。所以,恕我直言,最好为他们制作一个单一的架构。

    var Person = new Schema({
        type: String,
        // common properties below
        email: String,
        dob: String,
        // props of employee
        joiningDate: Date,
        // props of client
        account: { type: Schema.Types.Mixed }
    });
    

    在这里,你可以在type的基础上分离ClientEmployee

    【讨论】:

    • 我可以在每次用户想要注册时动态指定帐户架构吗?如果他注册为客户,我将使用用户帐户:{type: Schema.Types.Mixed ,ref: client } 和员工同样的事情
    猜你喜欢
    • 1970-01-01
    • 2010-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-21
    相关资源
    最近更新 更多