2014-04-04 33 views
0

試圖爲本地應用程序構建適當的體系結構,以顯示少數餐館的菜單 因此,我將在DB中有幾個位置,它們都可以具有不同的菜單類別和所有不同的項目,您會推薦什麼作爲最佳方式用mongodb表示(Im使用mongoose和node.js)在mongodb中代表餐廳菜單的最佳方式是什麼?

+3

這是太寬泛堆棧溢出的問題。從你最好的猜測開始,在你使用它的時候發現問題,提出更好的想法,並重復。 – JohnnyHK

+0

我完全失去了如何實現更好的查詢機制,因爲查詢嵌入式文檔聽起來不太好,或者編輯,尤其是如果嵌套層次像第三個 – Leg0

+1

如果您還沒有閱讀,請從這裏開始:http:// docs .mongodb.org/manual/core/data-modeling-introduction/ – JohnnyHK

回答

1

在mongoDB手冊上檢查Data Model Design

在你的情況,你可以做這樣的事情:

餐廳文檔:

{ 
    _id: <ObjectId1>, 
    restaurantname: "123xyz", 
    phone: "123456" 
    adress: "Adress" 
} 

類文件:

{ 
    _id: <ObjectId2>, 
    restaurant_id: <ObjectId1>, 
    cat_name: "breakfast" 
} 

SUBCAT文件:

{ 
    _id: <ObjectId3>, 
    categories_id: <ObjectId2>, 
    subcat_name: "Eggs" 
} 

飛碟DOCUME NT:

{ 
    _id: <ObjectId4>, 
    subcat_id: <ObjectId3>, 
    saucer_name: "fried eggs", 
    description: "fried eggs description", 
    price: "$00.00" 
} 

在這種情況下檢查Data modeling embedding

{ 
    _id: <ObjectId1>, 
    restaurantname: "123xyz", 
    phone: "123456" 
    adress: "Adress" 
    categories: 
    { 
     _id: <ObjectId2>, 
     cat_name: "breakfast", 
     subcat: 
     { 
      _id: <ObjectId3>, 
      subcat_name: "Eggs" 
      saucer document 
      { 
       _id: <ObjectId4>, 
       saucer_name: "fried eggs", 
       description: "fried eggs description", 
       price: "$00.00" 
      } 
     } 
    } 
} 
相關問題