如何在Mongodb中为用户角色和用户详细信息定义集合?

时间:2016-04-26 05:26:37

标签: mongodb

在mysql中;我有两个名为用户角色和用户详细信息的表。在用户详细信息表中使用外键的角色ID。如何在Mongodb中转换它?

2 个答案:

答案 0 :(得分:0)

首先,您需要了解模式的基本结构及其在mongodb中的定义以及它如何从mysql转换。

让我们看一些定义enter image description here

如果您有两个表,用户角色和用户详细信息,您的潜在mongodb架构应如下所示

{ 
   _id: objectid ("random alphanumeric"),
    username: "John Doe",
    firstname: "John",
    lastname: "Doe",
    title: "Manager",
      Role: [
                {
                  id: "Random alphanumeric",
                  type: "Admin"
                }
            ]
}

还请查看有关sql db mapping的Mongodb文档 https://docs.mongodb.org/manual/reference/sql-comparison/

注意:此处_id是指您的用户ID。

答案 1 :(得分:0)

你可以用同样的方式。我曾经遵循相同的模式

角色模式 -



var rolesSchema = new mongoose.Schema({
    'role_name':{type:String},
    'actions':[{type:String}]
})




用户架构 -



var userSchema = new mongoose.Schema({
  first_name : String,
  last_name : String,
  role: String, // OR { type: mongoose.Schema.Types.ObjectId, ref: 'role'}
})




你可以直接使用mongoose的populate来获取该用户的角色数据,或者使用role as string手动检查它。