在 GraphQL 中过滤嵌套关系

Posted

技术标签:

【中文标题】在 GraphQL 中过滤嵌套关系【英文标题】:Filtering a nested relation in GraphQL 【发布时间】:2020-10-15 04:27:09 【问题描述】:

我有以下 GraphQL 查询; “类别”是一对多的关系,每个都包含一个名称和一个 slug。我想获取所有带有“derp”类别的文章。有什么想法吗?


allContentfulArticle(
  sort:  order: DESC, fields: [createdAt] 
) 
  edges 
    node 
      title
      slug
      datePublished
      createdAt
      categories 
        name
        slug
      
    
  

【问题讨论】:

【参考方案1】:

这里有内容的 DevRel。 ?

我刚刚为您的场景制作了原型,这个查询应该可以做到。

query 
  categoryCollection(where:  slug_contains: "schnitzel" ) 
    items 
      linkedFrom 
        entryCollection 
          items 
            ...on Article 
              title 
            
          
        
      
    
  

您可以在文档中找到有关a specific entry 链接的更多信息。

希望对您有所帮助。 :)

【讨论】:

不一样...会返回最新的文章吗(按创建日期desc排序)? 他的建议不做排序,所以我只是在客户端做。

以上是关于在 GraphQL 中过滤嵌套关系的主要内容,如果未能解决你的问题,请参考以下文章

为什么无法在graphql中过滤深层嵌套查询?

如何使用 reactjs 和 graphql 在 gatsby 中映射嵌套数组

NestJS + Typeorm + Graphql:嵌套关系中 DTO 的正确设计模式

在 AWS Amplify GraphQL DynamoDB 中按另一个表的字段(也称为交叉表或嵌套过滤)过滤列表查询

使用 Prisma + MongoDB + GraphQL 的嵌套关系返回 null

在 GraphQL 中过滤嵌入式文档列表