2011-09-25 44 views
7

Ok vì vậy tôi đến từ một nền tảng mySQL và hiện đang cố gắng xây dựng lại một trang web bằng cách sử dụng nodeJS và Mongoose. schema mySQL cũ của tôi trông như thế này (giản thể):Mongoose: Lược đồ cơ sở dữ liệu được đề xuất

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 

bất cứ ai có thể đề xuất những cách tốt nhất để cơ cấu lại schema này mySQL cũ để làm việc với Mongoose?

Trả lời

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 

Nếu bạn đang lo lắng về kích thước bình luận (hiện MongoDB kích thước tài liệu tối đa là 16 mb), bạn có thể di chuyển nó đến doc khác

Bằng cách này, bạn có thể tìm thấy những người sử dụng của nhóm bằng

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

cũng là nhóm người sử dụng thuộc về

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

i f bạn muốn truy xuất thông tin có liên quan của nhóm với truy vấn trên, tôi khuyên bạn nên lưu trữ các trường nhóm truy cập thường xuyên nhất cũng với users.groups, như thế này

users 
    user_ID 
    user_name 
    user_email 
    user_password 
    Groups 
    - { grupid 1,name} 
    - {grupid 2,name} 
    - {grupid 3,name} 
Các vấn đề liên quan