現在需求是每個使用者有一些項目projects
,項目有分類tags
。
依照 mysql 的方法應該是建3張表,一張使用者表,一張項目表,一張分類表,然後外鍵什麼的。
如果是 mongo ,是不是一張表就夠了?
{
username: '',
u_id: '132342131',
projects: [
{
tags: 'editor',
p_id: ['12312334','123345213','2352321313']
},
{
tags: 'blogs',
p_id: ['12312334','123345213','2352321313']
}
]
}
初學 mongo ,不吝賜教。
为情所困2017-05-02 09:22:19
我也希望有簡單的答案就好了。問題是,「是否應該把資料放進一個表格」正是MongoDB的資料模型設計中最困難的部分。 MongoDB的資料庫設計不像SQL,以是否符合第三範式為標準,有標準的事情就要容易得多。而對MongoDB來說則是一系列的「如果…就應該…但是如果…就應該…」
這是一個很大的主題,也是使用MongoDB最重點要學習的東西。提供一些資料去研究下:
http://blog.mongodb.org/post/...
http://blog.mongodb.org/post/...
http://blog.mongodb.org/ post/...
https://docs.mongodb.com/manu...
最基本要考慮的問題是你打算怎麼用這個資料模型。如果你的模型能夠在大部分使用場景下都表現得良好,這就是一個好的設計。