【问题标题】:AWS Amplify GraphQL fetch data using multiple input parametersAWS Amplify GraphQL 使用多个输入参数获取数据
【发布时间】:2021-11-06 15:21:58
【问题描述】:

我正在研究 Next.js,我有这个设置:

const data = await API.graphql({
  query: projectByUserIdandProjectId,
  variables: {
    userId: props.userId,
    projectId: project.id,
  },
});

然后我有这个架构:

type Project
  @model
  @key(
    name: "byUserId"
    fields: ["userId"]
    queryField: "projectByUserIdandProjectId"
  )
  id: ID!
  userId: ID!
  projectId: ID!
}

我尝试将 projectId 添加到字段中:fields: ["userId", "projectId"] 但是当我查看 amplify 的查询控制台时,它没有给我添加 projectId 的选项。

当 userId 和 projectId 都匹配时,我希望能够从记录中获取 1 个数据。

【问题讨论】:

    标签: amazon-web-services graphql next.js aws-amplify aws-amplify-cli


    【解决方案1】:

    既然可以使用id,为什么还要在项目模型中添加projectId

    我不知道你的用例,但你可以使用filter

    type Project
      @model
      @key(
        name: "byUserId"
        fields: ["userId"]
        queryField: "projectByUserId"
      )
      id: ID!
      userId: ID!
      projectId: ID!
    }
    
    import { API, graphqlOperation } from "aws-amplify";
    
    --- 
    
    await API.graphql(
      graphqlOperation(projectByUserId, {
        userId: props.userId,
        filter: { projectId: { eq: props.projectId } }
      })
    );
    

    【讨论】:

      猜你喜欢
      • 2021-08-31
      • 2020-07-27
      • 2020-12-21
      • 2020-04-08
      • 2020-12-22
      • 2019-10-07
      • 2022-07-30
      • 2021-11-25
      • 2021-07-01
      相关资源
      最近更新 更多