内嵌式关系
Since 0.5.2
内嵌式关系(Embedded Relation)是一个非物理存在的多对多关系,用于把多对多关系的记录保存在一个实体的字段中,而不是通过一个中间实体进行关联。
示例:
Member.json
{
"fields": {
"id": "uuid",
"name": "varchar(100)"
}
}
Project.json
{
"fields": {
"id": "uuid",
"memberIds": "varchar(500) dataType array<string>"
},
"relations": {
"members": "*..* Member(memberIds) embedded expandable"
}
}
上面配置把Project与Member实体的多对多关系保存在memberIds字段中。
设置
- 定义一个字段用于保存关系数据,该字段必须声明为
dataType array<string>
"memberIds": "varchar(500) dataType array<string>"
- 定义一个多对多关系,把中间实体的声明改为内嵌字段的名称,并声明关系为
embedded
"members": "*..* Member(memberIds) embedded expandable"
其中
memberIds为内嵌字段的名称
限制
内嵌式关系只能用于Expand操作,其他操作如Join不支持。