2017-01-18 52 views
0

我正在開發一個帶貓鼬的餐廳模型。值得在貓鼬模型中有很多子文檔

我想要一個餐廳文檔有一個類別subdocs的數組,類有一個盤子subdoc和盤的數組也有一個部分subdoc的數組。

它好像還是我應該將數據拆分成幾個集合?

+0

食物是最重要的事情,部分和類別食物的細節。我會模擬數據,如餐廳>菜單>菜餚> DishPortion,DishCategory。但我沒有與mongo集合工作,所以我沒有關於在mongo中實現這個模型的具體建議,抱歉 – Plato

回答

0

創建幾個集合,其中ref爲父/子集合。

實例貓鼬:

const Category = new Schema({ 
    name: String, 
    dishes: [{ 
     type: Schema.Types.ObjectId, 
     ref: 'dish' 
    }] 
}); 

const Dish = new Schema({ 
    categories: [{ 
     type: Schema.Types.ObjectId, 
     ref: 'Category' 
    }], 
    name: String, 
    price: Number 
}); 

可以使用單向關係(唯一的孩子或父母),這取決於你的邏輯。

http://mongoosejs.com/docs/populate.html