我是數據庫和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