2011-09-25 9 views
7

OK, więc pochodzę z tła mySQL i teraz próbuję odbudować witrynę przy użyciu nodeJS i Mongoose. Mój stary schemat mySQL wyglądał mniej więcej tak (uproszczony):Mongoose: Sugerowany schemat bazy danych

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 

Może ktoś sugerują, że najlepszym sposobem na restrukturyzację tego starego schematu MySQL do pracy z Mangusta?

Odpowiedz

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 

Jeśli martwisz się o wielkości komentarz (aktualnie MongoDB max rozmiar dokumentu wynosi 16 mb), można przenieść go do innego dokumentu

W ten sposób można znaleźć użytkownikom grupy przez

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

także grup użytkownik należący do

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

ja f chciał odzyskać informacji dowiemy się z grupą z powyższym zapytaniem, proponuję przechowywać najczęściej dostęp do pól grupowych również z users.groups, tak

users 
    user_ID 
    user_name 
    user_email 
    user_password 
    Groups 
    - { grupid 1,name} 
    - {grupid 2,name} 
    - {grupid 3,name} 
Powiązane problemy