Javascript 查询特定的GET字段?

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

对于给定的“id:”,如何从AppSync/Dynamo表中的条目中仅获取一个字段(称为“名称”)?这不是将“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

请注意,
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
函数