我目前正在尝试创建一个界面,其中用户能够在模式中将附加元数据描述符附加到对象,并且需要在页面上的其他位置反映此附加的结果。我正在使用 React-relay 和 Hasura 自动创建 graphql 模式/函数。我目前正在尝试使用 @appendNode 指令将以下突变的结果与其他现有数据附加到现有边缘,以便可以将其显示给用户。该insert_dataset_metadata_one函数仅返回需要附加的元数据节点,因此我将该指令放在函数调用和要从该节点返回的字段之间。
export const insertDatasetMetadata = graphql`
mutation mutations_InsertDatasetMetadataMutation(
$object: dataset_metadata_insert_input!
$connectionIDs: [ID!]!
) {
insert_dataset_metadata_one (
object: $object
) @appendNode(connections: $connectionIDs, edgeTypeName: "dataset_metadataEdge") {
id
name: field_name
value: field_value
datasetMetadataId: dataset_metadata_id
normalizedName: normalized_name
normalizedValue: normalized_value
}
}
`;
Run Code Online (Sandbox Code Playgroud)
在 TypeScript 方面,我用数据集对象的中继 ID 来调用此突变(即id;datasetId是 postgres 中用于将插入的元数据与其描述的对象关联起来的外键)。
const { id, datasetId, metadata } = dataset;
// foreach over the metadata to get a data object and an if …Run Code Online (Sandbox Code Playgroud)