我有一个关于嵌套对象关系变异的具体问题。
这是我的表格,请注意, PRIMARY DATABASE 中有两个实体,而 SECONDARY DATABASE 上有一个单独的敏感个人数据实体:
我在Use case #3 - Joining data across 2 separate databases上关注了Hasura Docs进行远程联接
patients (PRIMARY DATABASE)
id
smartband_id
personal_info_id
smartbands (PRIMARY DATABASE)
id
brand
personal_infos (SECONDARY DATABASE)
id
name
address
email
因此,患者具有字段 personal_info_id 和 smartband_id (外键)
并且具有一个本地关系(称为 smartband ,并将 smartband_id 外键与 smartbands.id 字段相关联)
并具有一个远程关系(称为 personal_info ,并将 personal_info_id 和字段 personal_infos.id 连接起来)
我的实验表明,一个插入查询足以创建Patient和Smartband。 但是,无法通过单个查询同时创建“患者信息”和“个人信息”(我的猜测是由于远程模式所致)。
可以进行以下突变,但是我首先需要创建一个个人信息对象,然后传递该ID。
mutation MyMutation {
insert_patients_one (object: {
personal_info_id: 5
smartband: {
data: {
brand: "brand1"
}
}
}) {
id
smartband {
id
brand
}
}
}
下面的突变是不好的……
mutation MyMutation {
insert_patients_one (object: {
personal_info: {
data: {
name: "name1",
address: "address1",
email: "email1",
}
}
smartband: {
data: {
brand: "brand1"
}
}
}) {
id
smartband {
id
brand
}
}
}
...我的问题是这是否有可能,还是我只是错误地建立了关系?