当前位置: 首页 > 知识库问答 >
问题:

如何在GraphQL中查询以数组为参数的对象列表

林项明
2023-03-14

我试图查询具有id数组的对象列表。类似于下面的SQL查询:

SELECT name FROM events WHERE id IN(1,2,3,...);

如何在GraphQL中实现这一点?

共有3个答案

石正信
2023-03-14

在我的用例中,我是这样做的:

查询:

vehicleTypes: { name: ["Small", "Minivan"] }

输入:

vehicleTypes: VehicleTypesInput

然后像这样使用:

Input VehicleTypesInput {
    name: [String]!
}
景英杰
2023-03-14

我只是这样做:

query nameOfYourQuery {
  allEvents(filter: { id: { in: [1,2,3] } }) {
    nodes {
      name
    }
  }
}

如果数组是一个变量,那么它看起来像这样(至少在盖茨比中):

query nameOfYourQuery($arrayOfID: [String]) {
  allEvents(filter: { id: { in: $arrayOfID: [String] } }) {
    nodes {
      name
    }
  }
}
唐向荣
2023-03-14

您绝对可以使用值数组进行查询!以下是查询本身的样子:

{
  events(containsId: [1,2,3]) {
    ...
  }
}

类型看起来像:

const eventsType = new GraphQLObjectType({
  name: 'events',
  type: // your type definition for events,
  args: {
    containsId: new GraphQLList(GraphQLID)
  },
  ...
});

如果您想参数化这个查询,这里有一个例子:

{
  query: `
    query events ($containsId: [Int]) {
      events(containsId: $containsId) {
        id
        name
      }
    }
  `,
  variables: {
    containsId: [1,2,3]
  }
}
 类似资料:
  • 我试图在OpenAPI 3中定义一个查询对象: 但示例值和架构未显示在 Swaager UI 中。 是有错误还是我错过了什么?

  • 我有一个类来代表一个玩家的手牌。但是,我(在另一个类中)有一个数组列表,我想在其中表示一堆玩家手。问题是我不知道如何在多手牌的数组列表中将一张牌添加到手牌中。我有一个代表卡牌和一副牌的类,效果很好。我只是试图了解如何将对象添加到数组列表中的对象。谢谢!

  • 问题内容: 想要改善这篇文章吗? 提供此问题的详细答案,包括引文和答案正确的解释。答案不够详细的答案可能会被编辑或删除。 JavaScript中的对象是一个奇怪的疣-在大多数情况下,它的行为就像一个数组,但实际上不是数组对象。因为它是真正的完全是另一回事,它没有从有用的功能类似,,,和。 使用一个简单的for循环从arguments对象构造新数组非常容易。例如,此函数对其参数进行排序: 但是,仅获

  • 我有一个数组,看起来像这样: 它是一个任意长度的数组,带有许多重复字段(为了清楚起见,我将其减少为两个字段)。这被传递到JavaScript方法中。 我想知道你将如何在JSDoc中记录这一点。例如,你将如何记录问号所在的类型?

  • 最近我开始研究GraphQL,我能够在平面模式中插入数据,没有任何问题,但是当涉及到数据数组时,我会遇到如下错误 我正在用postman测试我的查询,我的变异查询是 这是我的事件模式: 猫鼬模式: 突变类型:

  • 问题内容: 我使用 PostgreSQL 9.5 和Rails5。我想查询下面显示的包含JSON对象数组的列,以返回包含并执行计数的所有JSON数组元素。我使用 的 SQL 显示在json数据下方。运行查询只会返回一个空数组。 这是我的数据: 我想要其中一个sql查询返回: 和另一个查询以返回数组,以便我可以在应用程序中对其调用count,还可以遍历它以创建表单: 我试过这个SQL查询: 我也试过