2011-09-25 35 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}