我是数据库和mongo的新手。我正在创建一个具有不同类型用户的Web应用程序,这些用户可以通过不同的用户界面访问不同的路线。例如:用户,公司,管理员。我的问题是,我应该创建一个容纳所有用户的单一集合,并简单地在每个用户对象上添加“用户类型”或“访问级别”作为属性?或者我应该有3个不同的集合,每个类型的用户一个?我应该为mongodb中的不同用户使用不同的集合吗?
这类事情的常见做法是什么?
我是数据库和mongo的新手。我正在创建一个具有不同类型用户的Web应用程序,这些用户可以通过不同的用户界面访问不同的路线。例如:用户,公司,管理员。我的问题是,我应该创建一个容纳所有用户的单一集合,并简单地在每个用户对象上添加“用户类型”或“访问级别”作为属性?或者我应该有3个不同的集合,每个类型的用户一个?我应该为mongodb中的不同用户使用不同的集合吗?
这类事情的常见做法是什么?
什么是场为每种类型的用户进行相应的设置?如果它们相同,则使用用户类型选项。相同的用户明天可以担任多个角色。存储在同一个集合中会更好。
如果要存储的字段完全不同,并且在应用程序中没有相同的用户可能有两个角色,则使用3个集合。
通过你的问题你的架构可以有角色设置为ENUM和价值user, company, admin.
和作用应同时将数据保存到数据库
var UserSchema = new Schema({
first_name: {
type: String,
required: true
},
last_name: {
type: String
}, Roles: {
type: String,
enum: ['USER', 'COMPANY', 'ADMIN'],
default: 'ACTIVE'
}
});
UserSchema.index({
username: 1,
role: 1
});
如果我们想在管理员和公司中都有用户,但是必须有额外的字段,该怎么办?我们可以使用更多收藏并参考它们吗? – sarakinos