首頁  >  問答  >  主體

mongodb 需不需要建置多個表格?

現在需求是每個使用者有一些項目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 ,不吝賜教。

漂亮男人漂亮男人2727 天前669

全部回覆(3)我來回復

  • PHP中文网

    PHP中文网2017-05-02 09:22:19

    我覺得你這種情況一張表夠了,mongodb畢竟是文檔型資料庫,儲存的資料擴充性高。當然了你想分開也可以。僅供參考

    回覆
    0
  • 仅有的幸福

    仅有的幸福2017-05-02 09:22:19

    可以一張表的,就是更新 “p_id”指定的值時,比較尷尬

    回覆
    0
  • 为情所困

    为情所困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...

    最基本要考慮的問題是你打算怎麼用這個資料模型。如果你的模型能夠在大部分使用場景下都表現得良好,這就是一個好的設計。

    回覆
    0
  • 取消回覆