【发布时间】:2019-05-13 18:18:12
【问题描述】:
我有一个用户表,其中包含电子邮件、电话等,我想根据其电子邮件或电话值(而不是 #Id)查询记录。没有足够的知识来做这件事 - 我写了一个这样的模式:
type Query {
...
getUser(id: ID!): User
getUserByEmail(input: GetUserByEmailInput!): User
...
}
input GetUserByEmailInput {
email: String!
}
在针对 getUserByEmail(..) 的解析器中,我尝试进行试验,但到目前为止没有任何效果,所以它保持默认状态:
所以当我向查询控制台运行这样的查询时:
query GetUserByEmail {
getUserByEmail(input: {email: "email@email.com"}) {
id
name
email
image
}
}
这会返回如下错误:
{
"data": {
"getUserByEmail": null
},
"errors": [
{
"path": [
"getUserByEmail"
],
"data": null,
"errorType": "DynamoDB:AmazonDynamoDBException",
"errorInfo": null,
"locations": [
{
"line": 41,
"column": 5,
"sourceName": null
}
],
"message": "The provided key element does not match the schema (Service: AmazonDynamoDBv2; Status Code: 400; Error Code: ValidationException; Request ID: xxx)"
}
]
}
如何通过非 Id 字段值查询记录?
【问题讨论】:
标签: amazon-dynamodb graphql aws-appsync