Appsync& GraphQL:如何按嵌套值对列表进行排序

发布于 2025-02-01 09:06:51 字数 1117 浏览 3 评论 0原文

我有一个从基本模式中放大产生的Appsync API。在SocialMediadocument模型上,CTR字段嵌套在统计局中。我想构建一个查询,提供由CTR分类的SocialMediadocument的列表。这可能吗?还是我应该在我的社交媒体上使用CTR?

type SocialMediaDocument
  @model
  @auth(
    rules: [
      { allow: owner, operations: [create, read] }
      { allow: groups, groupsField: "organizationGroupName" }
      { allow: groups, groups: ["Admin"], operations: [create, read, update, delete] }
    ]
  )
  @key(
    name: "socialMediaDocumentsByCustomerID"
    fields: ["customerID", "createdAt"]
    queryField: "socialMediaDocumentsByCustomerID"
  )
  @key(
    name: "socialMediaDocumentsByRequestStatus"
    fields: ["requestStatus"]
    queryField: "sociaMediaDocumentsByRequestStatus"
  )
  @key(
    name: "socialMediaDocumentsByOrganizationID"
    fields: ["organizationID", "createdAt"]
    queryField: "socialMediaDocumentsByOrganizationID"
  ) {
  id: ID!
  stats: [SocialMediaDocumentStats!]
}

type SocialMediaDocumentStats {
  date: AWSDate
  ctr: Float!
  engagementRate: Float!
  postClicksLifetime: Float!
  postEngagedUsersLifetime: Float!
  postImpressionsLifetime: Float!
}

I have an Appsync API generated by Amplify from a basic schema. On the SocialMediaDocument model, a ctr field is nested within a stats field. I want to build a Query that provides a list of SocialMediaDocument sorted by ctr. Is this possible ? Or should I sotre the ctr on my SocialMediaDocument ?

type SocialMediaDocument
  @model
  @auth(
    rules: [
      { allow: owner, operations: [create, read] }
      { allow: groups, groupsField: "organizationGroupName" }
      { allow: groups, groups: ["Admin"], operations: [create, read, update, delete] }
    ]
  )
  @key(
    name: "socialMediaDocumentsByCustomerID"
    fields: ["customerID", "createdAt"]
    queryField: "socialMediaDocumentsByCustomerID"
  )
  @key(
    name: "socialMediaDocumentsByRequestStatus"
    fields: ["requestStatus"]
    queryField: "sociaMediaDocumentsByRequestStatus"
  )
  @key(
    name: "socialMediaDocumentsByOrganizationID"
    fields: ["organizationID", "createdAt"]
    queryField: "socialMediaDocumentsByOrganizationID"
  ) {
  id: ID!
  stats: [SocialMediaDocumentStats!]
}

type SocialMediaDocumentStats {
  date: AWSDate
  ctr: Float!
  engagementRate: Float!
  postClicksLifetime: Float!
  postEngagedUsersLifetime: Float!
  postImpressionsLifetime: Float!
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文