Javascript 查询特定的GET字段?
对于给定的“id:”,如何从AppSync/Dynamo表中的条目中仅获取一个字段(称为“名称”)?这不是将“id”的整行字段返回给我。我只需要一个字段 以下操作不起作用:Javascript 查询特定的GET字段?,javascript,database,reactjs,amazon-dynamodb,aws-appsync,Javascript,Database,Reactjs,Amazon Dynamodb,Aws Appsync,对于给定的“id:”,如何从AppSync/Dynamo表中的条目中仅获取一个字段(称为“名称”)?这不是将“id”的整行字段返回给我。我只需要一个字段 以下操作不起作用: const userName = await API.graphql(graphqlOperation(GetUsers, { id: "3b342de-34k5-434....." }, "name") ); 模式: type Users @model { id: ID! name: String email
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
请注意,
wait
为您提供了一个包含名称的嵌套对象。你必须把它提取出来。此外,您真正需要的是类型用户
,而不是类型用户
您的查询是从graphql服务器中查询getUsers
,并询问id
、name
和email
如果只需要名称
,请将查询更改为:
query GetUsers($id: ID!) {
getUsers(id: $id) {
name
}
}
GetUser
看起来像什么?刚刚更新了OPHi Yik。几个问题。1) 我是否需要添加您添加到my queries.js和“放大推送”中的新“导出常量getUser…”代码?2) 如果我不使用wait,我会直接将“name”分配给我的const用户名吗?1。您可以使用现有的返回>=1个字段的getUsers
,也可以创建一个新查询以仅获取1个字段。这取决于你。2.使用wait
或不使用不会影响输出数据结构。您需要执行.getUser.data.xxx
以获取名称。不管怎样,这只是一行代码。我需要把它放大吗?或者将这段代码添加到querys.js文件就足够了?我还需要类中其他地方的GetUsers。我不能在同一个文件中“从“./graphql/querys”导入{getUsers as getUsers}”和“从“./graphql/querys”导入{getUser as getUsers}”,因此这不起作用。还有一个错误是:必须提供sourceYou将此代码推送到查询所在的位置。在本例中,您的getUsers
函数