Заполнение нескольких таблиц в парусе
Я работаю над приложениями паруса, которые содержат несколько (> 2) таблиц, к которым мне нужно присоединиться с помощьюзаполнить метод например
Модель Category.js
attributes: {
CategoryID:{
type:"integer",
required:true,
primaryKey:true,
autoIncrement:true
},
SubCategories:{ //REFERING TO SUB-CATEGORY TABLE
collection:'SubCategory',
via:'CategoryID'
},
CategoryName:{
type:"string",
required:true,
maxLength:50
}
}
этоМодель SubCategory.js.
attributes: {
id:{
type:'integer',
required:true,
primaryKey:true,
autoIncrement:true,
maxLength:10,
columnName:'SubCategoryID'
},
CategoryID:{
model:'Category' //REFERING TO CATEGORY TABLE
},
ProductsOfCategory:{ //REFERING TO PRODUCT TABLE
collection:'Product',
via:'SubCategoryID'
},
SubCategory:{
type:"string",
required:true,
maxLength:50
}
}
а такжеМодель Product.js
attributes: {
id: {
type: 'integer',
primaryKey: true,
autoIncrement: true,
maxLength: 10,
columnName:'ProductID'
},
SubCategoryID: {
model:'SubCategory'
},
ProductDetails:{
collection:'ProductDetails',
via:'ProductID'
},
ProductName: {
type: "string",
required: true,
maxLength: 50
}
}
а такжеМодель ProductDeatils.js
attributes: {
id: {
type: 'integer',
primaryKey: true,
autoIncrement: true,
maxLength: 10,
columnName:'ProductDetailID'
},
ProductID:{
model:'Product'
},
Size:{
type:"string",
required:true,
maxLength:10
},
Color:{
type:"string",
required:true,
maxLength:10
}
}
Что касается заполнения, я могу заполнить категорию и подкатегорию каждой категории.
Category.find()
.populate('SubCategories')
.exec(function(err, categories){
if (err) {
console.log(err);
return res.json(err);
}
console.log(categories);
res.json(categories);
})
Как заполнить всю вышеприведенную таблицу за один раз, чтобы после окончательного запроса мы получили все вышеперечисленные детали в одном json.
Получаем объединение всех вышеперечисленных таблиц
это категория, имеющая все подкатегории, подкатегория, имеющая все продукты, и все продукты имеют сведения о продукте в одном json