带有参数子查询的 GraphQL 突变 - update/convert 写入数据库?
GraphQL mutation with subquery for parameter - update/convert DB on write?
是否可以在 GraphQL 中添加对突变的查找?比方说输入类型,其中一个 属性 是另一个查询的结果。
createPerson(name: "Steve", gender: genders ( name: { eq: "mail" } ) { id } )
其中 genders ( name: { eq: "mail" } ) { id }
将 return 正好是一个结果值
GraphQL 允许您:
- “得到你想要的”;
- 在写入时操作数据;
- 自定义阅读响应;
你当然可以写一个createPerson
突变解析器到:
- 向另一个 table 询问额外的数据(如果缺少 arg);
- 写入数据库;
但不影响(不是suitable)现有记录。
您还可以使用 读取解析器 来使用字段解析器更新记录中缺失的字段 - 一种 'eventual consistency'.
编写人员解析器以读取人员记录和附加 person.gender
字段解析器以获取缺少的 gender
值的值。第二个可用于更新 'main' 人 [DB table] 记录:
- 从其他人那里读取一个缺失值table;
- 在 'main' table;
上的人员记录中写入一个值
- return 值。
下一次人解析器将立即读取gender
值(来自'main'人table),[附加]根本不会调用字段解析器。
这种技术可以用来转换DB数据而无需编写SQL/DB特定代码(不同syntax/types问题,在更复杂的逻辑上更安全)-它是足以阅读 each/all 人的 gender
字段。之后可以删除字段解析器(和 other/old table)。
是否可以在 GraphQL 中添加对突变的查找?比方说输入类型,其中一个 属性 是另一个查询的结果。
createPerson(name: "Steve", gender: genders ( name: { eq: "mail" } ) { id } )
其中 genders ( name: { eq: "mail" } ) { id }
将 return 正好是一个结果值
GraphQL 允许您:
- “得到你想要的”;
- 在写入时操作数据;
- 自定义阅读响应;
你当然可以写一个createPerson
突变解析器到:
- 向另一个 table 询问额外的数据(如果缺少 arg);
- 写入数据库;
但不影响(不是suitable)现有记录。
您还可以使用 读取解析器 来使用字段解析器更新记录中缺失的字段 - 一种 'eventual consistency'.
编写人员解析器以读取人员记录和附加 person.gender
字段解析器以获取缺少的 gender
值的值。第二个可用于更新 'main' 人 [DB table] 记录:
- 从其他人那里读取一个缺失值table;
- 在 'main' table; 上的人员记录中写入一个值
- return 值。
下一次人解析器将立即读取gender
值(来自'main'人table),[附加]根本不会调用字段解析器。
这种技术可以用来转换DB数据而无需编写SQL/DB特定代码(不同syntax/types问题,在更复杂的逻辑上更安全)-它是足以阅读 each/all 人的 gender
字段。之后可以删除字段解析器(和 other/old table)。