使模型成为自身的集合
Make a model a collection of itself
标题可能不清楚,但我想要实现的是具有parentCategories的类别。例如:
/-Clothes
/---Men
/---Women
/---Kids
/-----Newborns
所以我想我可以让每个类别都有一个可选的父类别,每当我添加一个带有父类别的类别时,找到这个父类别并将新的子类别添加到它。听清楚了吗?
这是我到目前为止所做的:
Category.js(模型)
module.exports = {
connection: 'MongoDB',
attributes: {
name: {
type: 'string',
required: true,
unique: true
},
description: {
type: 'string'
},
products: {
collection: 'product',
via: 'category'
},
parentCategory: {
model: 'category'
},
subCategories: {
collection: 'category',
via: 'parentCategory'
},
addSubCategory: function(sc) {
this.subCategories.push(sc);
}
}
};
它似乎不工作。我在控制器sc中调用addSubCategory这个值是正确的,但它从未将subCategory属性添加到类别中。我知道这可能不是最好的方法,有什么建议吗?
不需要subCategories
属性。以下设计是我的建议。
module.exports = {
connection: 'MongoDB',
attributes: {
name: {
type: 'string',
required: true,
unique: true
},
type: {
type: 'string',
enum: ['parent', 'subcategory'],
},
description: {
type: 'string'
},
products: {
collection: 'product',
via: 'category'
},
parentCategory: {
model: 'category' // this exists only if type is 'subcategory' else null
},
addSubCategory: function(sc) {
this.subCategories.push(sc);
}
}
};
相关文章:
- 为集合分配大量的模型弹药
- 如何使用backbone.js从集合中获取模型名称
- 2个backbone.js集合,具有相同的模型,但排序顺序不同
- 主干-从模板中迭代的集合中获取特定的模型
- 如何更改与Backbone集合中的模型相关联的几个元素的css属性
- 从骨干集合筛选模型,然后为这些模型设置属性
- 主干模型:保存时保留集合
- 主干输出用于集合模型的空数组
- 无集合模型
- 无法访问 Backbone.js 集合/模型从模板中
- 在主干应用中持久更新集合模型的正确方案
- Backbone 如何在需要时更新集合模型
- 主干:访问集合模型
- 制作模型属性“;独特的“;在集合模型中
- 打印出集合和集合.模型给出了不同的结果
- 在将集合模型的旧值设置为新值后,获取它们的主干模型
- Backbone.js中的嵌套集合/模型视图管理
- 将Backbone.js JSON响应填充到嵌套集合/模型中的嵌套集合中
- 骨干-在初始化集合模型时传递数据
- 从嵌套的集合模型javascript创建JSON