繁体   English   中英

GraphQL 用于在突变字段上映射数组的语法

[英]GraphQL Syntax for mapping array on mutation field

我正在寻找有关语法的建议。 在我的查询中,我需要我的后端(Graphlite、Symfony)来获取子项。 我得到常规项目的方式如下,并且工作正常。 我对 GraphQL / Apollo / VueJS / GraphQLite 不够精通,无法知道哪种技术拥有“{id: $itemId}”语法,我也不知道它叫什么,所以我找不到任何有关它的信息.

insertItem: gql` mutation insertItem(
    $itemId: Uuid!,
    $childItemIds: [Uuid!]!
) {
    insertItem(
        item: {id: $itemId},
        childItems:  { id: { in : { $childItemIds} }
    ){
       // ... stuff
    }
}`

因此,鉴于 {id: $itemId} 正确地用于获取项目,我假设有一些 graphQL 语法可以应用 childItemIds 来获取 childItems。 这种映射有名称吗? 语法是什么?

根据与@UjinT34 的讨论,由于这不能与 GraphQL 内联完成,我在调用突变之前创建了一个 ItemInput 数组:

          for (var i = 0, len = item.childItems.length; i < len; i++) {
            childItems.push({ id : item.childItems[i].id } )
          }

原来的查询变成了:

insertItem:`` gql` mutation insertItem(

    $itemId: Uuid!,
    $childItemIds: [ItemInput!]!
) {
    insertItem(
        item: {id: $itemId},
        childItems:  $childItemIds
    ){
       // ... stuff
    }
}

一旦我明白{id: $item}不是神奇的 GQL/GraphQLite 语法,而只是一个内联 javascript object 正在创建,解决方案就变得相当简单。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM