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

应用同步

蒋英博
2023-03-14

我有一个Appsync API从一个基本的模式中由Amplify生成。在文章模型上,类别字段嵌套在元数据字段中。我想构建一个查询,提供按类别筛选的文章列表。我不清楚如何过滤嵌套值...我见过类似的问题,但类似的答案不起作用。

AWS GraphQL转换架构

type Article @model {
  id: ID!
  title: String!
  description: String!
  text: String!
  metadata: ArticleMetadata!
}

type ArticleMetadata {
  category: Category!
  lastModified: String!
  creationDate: String!
}

enum Category {
  javascript
  java
  ruby
  python
  haskell
}

生成的列表查询

export const listArticles = `query ListArticles(
  $filter: ModelArticleFilterInput
  $limit: Int
  $nextToken: String
) {
  listArticles(filter: $filter, limit: $limit, nextToken: $nextToken) {
    items {
      id
      title
      description
      text
      metadata {
        category
        lastModified
        creationDate
      }
    }
    nextToken
  }
}
`;

失败的筛选器查询

query listArticlesByCategory($category: String!) {
  listArticles(filter: {category: {eq: $category}}) { 
    items {
      title
      description
      text
      metadata {
        category
        creationDate
        lastModified
      }
    }
  }
}

Appsync控制台错误表明筛选器:{category:…} 是未知字段。


共有1个答案

吴德辉
2023-03-14

默认情况下,Amplify codegen仅在顶级过滤器上工作。您可以对此进行扩展,以包括ArticleMetadata中嵌套的属性的过滤器。

您将需要扩充ModelArticleFilterInput类型以包含类别字段。假设article表中的元数据字段由DynamoDB映射支持,则可以基于映射值进行筛选。您需要修改listArticles解析器的请求映射模板VTL,以添加包含类似元数据的筛选器表达式。category=:category当过滤器参数中有category值时。

 类似资料:
  • 当通过Amplify CLI初始化新的GraphQL后端时,示例模式使用@Model注释定义多个类型。比如说... 推送时,将创建多个DynamoDB表(每个模型一个)。因此在本例中,创建了三个单独的DynamoDB表(blog、post和Comments) 在我们的例子中,我们有一个模型,我们将有20个左右的小集合与用户关联。当感觉这些小集合都属于单个表中的用户对象时,我对不得不管理20个不同的

  • projectReactor文档说明是异步的,如下所示。 所以,我可以这样写我的所有方法来返回Mono发布者。 并与一起使用,如下所示: 公共最终单声道平面映射(函数<?super T,?extends Mono<?extends r>>transformer) 异步转换此单声道发出的项,返回另一个单声道发出的值(可能更改值类型)。

  • 目前我正在研究文本字段和默认/取消按钮的问题。在使用TestFX测试假定的修复时,我遇到了事件调度方面的差异(?)这使得测试在应用程序运行时失败。 下面是一个非常简化的版本: 只是一个简单的用户界面,由一个框中的文本字段组成,用于应用程序/测试 修复程序的关键部分是创建actionEvent,将textField同时作为源和目标(以防止在调度期间将事件复制到新实例中): 运行应用程序时,这似乎足以

  • 重要提示:当前版本的 Photoshop、Illustrator 和 InDesign 不再提供“同步设置”功能。查看这些资源,了解如何从这些应用程序的早期版本中迁移设置: 迁移设置 Photoshop|迁移设置 InDesign | 迁移设置 同步设置功能让您可以自由地在任何地方进行工作,坚信您的工作环境始终符合您喜欢的方式。 Creative Cloud 应用程序的同步设置 若要获得有关开始使

  • 目前,我有一个类分数,它允许我用三种不同的方式创建分数 对于一个整数,在这种情况下,给定的整数将是分子,分母将设置为1 有2个整数,分子和分母 最后一种方法是解析一个字符串,该字符串必须与REGEX-?\d/[1-9]\d* gcd将尽可能减少生成的分数。 我现在想实现的是,具有相同分子和分母的分数实例具有相同的引用例如。 应该返回true。 我研究了一些关于泛型和边界的章节,但我不确定这是否是我

  • 日安,先生们。 我有一个winform应用程序和一个用于数据库的Mysql服务器。在我的应用程序中,我有几个日期字段,其中显示事务的日期,如开始日期和时间。在应用程序中,它被设置为遵循计算机(客户端)的日期和时间,而不是服务器的日期和时间,当我更改客户端的日期和时间时,它会按原样保存,而不是服务器的时间,这会损害数据的完整性和准确性。我如何设置客户机遵循服务器日期和时间。是否有任何方法或技术来避免