2011-09-25 74 views
7

好吧,我來自mySQL的背景,現在正在嘗試使用nodeJS和Mongoose重建一個站點。我的舊版本的MySQL架構看起來是這樣的(簡化):Mongoose:建議的數據庫模式

users 
    user_ID 
    user_name 
    user_email 
    user_password 

groups 
    group_ID 
    group_name 
    group_description 

groupusers 
    groupuser_ID 
    group_ID 
    user_ID 

comments 
    comment_ID 
    group_ID 
    user_ID 
    comment_txt 

任何人都可以提出來重組這個舊版本的MySQL架構與貓鼬最好的工作方式是什麼?

回答

5
users 
    user_ID 
    user_name 
    user_email 
    user_password 
    Groups 
    - grupid 1 
    - grupid 2 
    - grupid 3 

groups 
    group_ID 
    group_name 
    group_description 
    comments 
    1 - 
     user_ID 
     comment_txt 
    2 - 
     user_ID 
     comment_txt 

如果你擔心的註釋大小(目前MongoDB的最大文件大小爲16 MB),您可以將其移動到其他文檔

這樣你可以找到該組的用戶

db.users.find({Groups:'groupid1'}) 

還組用戶屬於

db.users.find({id:userid},{Groups:1}) 

我F你想檢索與上述查詢組培訓相關的信息,我建議你來存儲最常訪問組領域也與users.groups,這樣

users 
    user_ID 
    user_name 
    user_email 
    user_password 
    Groups 
    - { grupid 1,name} 
    - {grupid 2,name} 
    - {grupid 3,name}