使用 Apollo gql 编写 WHERE GraphQL 查询

Posted

技术标签:

【中文标题】使用 Apollo gql 编写 WHERE GraphQL 查询【英文标题】:Write WHERE GraphQL queries with Apollo gql 【发布时间】:2020-08-01 00:44:54 【问题描述】:

在我的 Playground 上运行此查询非常有效:

 query 
    users(where:email_contains: "b") 
      nodes 
        email
        firstName
      
      totalCount
    
  

但我无法将其转换为这种格式以在我的代码中使用 Apollo gql。如何以可以传递任何我想要的变量的方式修复它?连同where

interface Input 
  email: String;
  firstName: String;
  lastName: String;


export const LoadUsersQuery = gql`
  query users(where $email: String!)
    users 
      nodes 
        firstName
        email
      
      totalCount
    
  
`;

从架构中,我知道:

users(
where: UserFilter
): UserConnection
type UserFilter
  email_contains: string
  firstName_contains: string

等等等等

【问题讨论】:

【参考方案1】:

你需要定义类似的东西

 query 
    usersList($email_contains: string) 
      users(email_contains: $email_contains) 
        nodes 
          email
          firstName
        
        totalCount
      
   

查看文档了解更多信息:https://www.apollographql.com/docs/tutorial/queries/。

【讨论】:

以上是关于使用 Apollo gql 编写 WHERE GraphQL 查询的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 GQL 从 React 前端的 Apollo 客户端获取错误

Apollo Server 的 gql 标签和 schema.gql 文件有啥区别?

在 Vue-apollo 中使用 gql-tag 构造查询字符串

@client Apollo GQL 标签中断查询

@Nuxt/Apollo 如何从 gql 查询中删除“__typeName”

如何在 Apollo Client 的 gql 查询中定义类型?