Я пытаюсь получить результаты на основе 2 значений,
выборка:
identificatorFilter := expression.Name("identificator").Equal(expression.Value(*netAuth.Identificator))
typeFilter := expression.Name("type").Equal(expression.Value(netAuth.Type))
expr, err := expression.NewBuilder().WithFilter(identificatorFilter).WithFilter(typeFilter).Build()
if err != nil {
return response.SimpleResponse{
StatusCode: common.InternalServerError,
}, nil
}
// Read from DynamoDB
input := &dynamodb.QueryInput{
ExpressionAttributeNames: expr.Names(),
ExpressionAttributeValues: expr.Values(),
FilterExpression: expr.Filter(),
ProjectionExpression: expr.Projection(),
TableName: aws.String(account.Table),
}
result, _ := database.Query(input)
Результаты равны 0.
type NetAuth struct {
Identificator *string `json:"identificator"`
Password *string `json:"password"`
DeviceID *string `json:"deviceId"`
Type int `json:"type"`
}
Мой запрос:
{
"identificator": "meh@asd.das",
"password": "DbmMGH4UU9REBB1dEBfTIOYu63S79BiG3ZVcd3zwHsxesX6vtB",
"deviceId": "deviceId",
"type": 0
}
Моя база данных содержит:
{
"created_at": {
"S": "2018-05-01T20:01:21.180441941Z"
},
"password": {
"S": "da6369cdef0c0464796a734162c6fc67e143a367a754c0236ee9913abb2b2083fc2a71cd16fa10a0232ad667416ed5460b04f367b597331ed26d349452d2aff8"
},
"id": {
"S": "36pmlEm4fbh7HWavLYgaPHXmQ1xv234qWE24TaHCFta65dZFmr"
},
"type": {
"N": "0"
},
"expiry_date": {
"NULL": true
},
"salt": {
"NULL": true
},
"updated_at": {
"S": "2018-05-01T20:01:21.180442027Z"
},
"level": {
"N": "0"
},
"qr_key": {
"NULL": true
},
"identificator": {
"S": "meh@asd.das"
}
}
Я попытался удалить typeFilter, однако он не работает.
Я пытался как-то показать «запрос», но не могу найти способ.
Я прихожу из Rdbms, поэтому извините, если это глупая ошибка.