2011-09-25 15 views
7

Tamam, bir mySQL arka planından geliyorum ve şimdi nodeJS ve Mongoose kullanarak bir siteyi yeniden oluşturmaya çalışıyorum. Eski mySQL şema (basitleştirilmiş) böyle bir şey görünüyordu:Mongoose: Önerilen veritabanı şeması

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 

kimse Gelincik çalışmak için bu eski mySQL şemayı yeniden yapılandırmaya en iyi yol önerebilir?

cevap

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 

bu yorumun boyutu hakkında endişe duyuyorsanız (şu anda en fazla belge boyutu 16 mb mongodb), size göre grubun kullanıcılarını bulabilirsiniz Bu şekilde diğer doc

taşıyabilirsiniz

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

de gruplar kullanıcı

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

ait i f Yukarıdaki sorgu ile grup Alakalı bilgi almak istedim, seni en sık saklamak bu

users 
    user_ID 
    user_name 
    user_email 
    user_password 
    Groups 
    - { grupid 1,name} 
    - {grupid 2,name} 
    - {grupid 3,name} 
gibi users.groups ile de grup alanlarını erişmek için önermek