【发布时间】:2014-11-29 18:44:20
【问题描述】:
我在我的一个项目中使用了微风.js,我想绘制一张 selft 相关数据的图表。 元数据的定义是手工完成的。 我的实体引用了 2 种类型(父母和子猫),它们都是实体本身的 id 数组。
我的第一次尝试是构建我的客户端 metadataStore,如下所示:
function addTransactionCategory() {
addType({
name: 'Category',
dataProperties: {
id: {type: ID},
name: {max: 400, nullOk: false},
description: {max: 400},
parents: {max: 400}, // This is not correct
subcats: {max: 400} // This is not correct
},
navigationProperties: {
parents: {type: 'Category', hasMany: true},
subcats: {type: 'Category', hasMany: true}
}
});
}
这里是 JSON 数据的示例
{
_id: 117,
name: "Utilities",
description: "Example of entity",
subcats: [
118,
119,
120,
121,
122,
123,
124,
125
],
parents: [ ]
}
知道 navigationProperties 抛出错误,我应该如何在 Breeze 中实现这种类型的关系。我的后端是 MongoDb,我不想复制信息,这就是我使用这个数据模式逻辑的原因。
根据@ward 的评论,我想详细说明一下模型的结构。
从给定的类别中,我希望能够检索附加到该类别的所有父类别(级别 x - 1),并且我希望能够检索子类别(级别 x+1)。
这是一张图片,左侧显示了一个关系示例。
右边是表结构,如果结构是用 SQL 设计的。
example of the entity and SQL tables http://imageshack.com/a/img909/6914/ogeirV.png
这个例子展示了一个层次的关系。主要思想是建立多层次的关系。
一个类别可以有 0 或 n 个子类别/父类别 一个子类别可以有 0 或 n 个父/子类别 这种结构允许多层次的深层结构 例如。猫 A → 猫 A A → 猫 A A A → 猫 A A A A ...
提前感谢您的帮助。
【问题讨论】: