查询特定的 GET 字段?
Query a specific GET field?
对于给定的 "id:",如何从我的 AppSync/Dynamo table 的条目中仅获取一个字段(称为 "name")?这不是将 'id' 的整行字段返回给我。我只需要单个字段。
以下无效:
const userName = await API.graphql(graphqlOperation(GetUsers, { id: "3b342de-34k5-434....." }, "name") );
架构:
type Users @model {
id: ID!
name: String
email: String
}
查询:
export const getUsers = `query GetUsers($id: ID!) {
getUsers(id: $id) {
id
name
email
}
}
试试下面
export const getUser = `query GetUsers($id: ID!) {
getUsers(id: $id) {name}
}`
const userName = (await API.graphql(graphqlOperation(getUsers, {id: "xxx"}))).getUser.data.name
请注意 await
为您提供了一个包含 name
的嵌套对象。你必须把它提取出来。另外,你真正需要的是type User
,而不是type Users
.
您的查询正在从您的 graphql 服务器查询 getUsers
,并且要求 id
、name
和 email
。
如果您只想要 name
,请将查询更改为:
query GetUsers($id: ID!) {
getUsers(id: $id) {
name
}
}
对于给定的 "id:",如何从我的 AppSync/Dynamo table 的条目中仅获取一个字段(称为 "name")?这不是将 'id' 的整行字段返回给我。我只需要单个字段。
以下无效:
const userName = await API.graphql(graphqlOperation(GetUsers, { id: "3b342de-34k5-434....." }, "name") );
架构:
type Users @model {
id: ID!
name: String
email: String
}
查询:
export const getUsers = `query GetUsers($id: ID!) {
getUsers(id: $id) {
id
name
email
}
}
试试下面
export const getUser = `query GetUsers($id: ID!) {
getUsers(id: $id) {name}
}`
const userName = (await API.graphql(graphqlOperation(getUsers, {id: "xxx"}))).getUser.data.name
请注意 await
为您提供了一个包含 name
的嵌套对象。你必须把它提取出来。另外,你真正需要的是type User
,而不是type Users
.
您的查询正在从您的 graphql 服务器查询 getUsers
,并且要求 id
、name
和 email
。
如果您只想要 name
,请将查询更改为:
query GetUsers($id: ID!) {
getUsers(id: $id) {
name
}
}