AWS Amplify GraphQL 使用多个输入参数获取数据
AWS Amplify GraphQL fetch data using multiple input parameters
我正在研究 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 条数据。
既然可以使用 id
,为什么还要在 Project 模型中添加 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 } }
})
);
我正在研究 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 条数据。
既然可以使用 id
,为什么还要在 Project 模型中添加 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 } }
})
);