AWS Amplify GraphQL 使用多个输入参数获取数据
Posted
技术标签:
【中文标题】AWS Amplify GraphQL 使用多个输入参数获取数据【英文标题】:AWS Amplify GraphQL fetch data using multiple input parameters 【发布时间】: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 个数据。
【问题讨论】:
【参考方案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
)
);
【讨论】:
以上是关于AWS Amplify GraphQL 使用多个输入参数获取数据的主要内容,如果未能解决你的问题,请参考以下文章
在 AWS Amplify 中更改我的 GraphQL 架构时如何防止丢失生产数据?
使用 AWS Amplify/AppSync 的嵌套 GraphQL 突变
如何在 aws amplify 中使用 graphQL 限制
AWS Amplify (GraphQL) - 使用“graphqlOperation”与普通查询?