内嵌式关系
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
不支持。