DynamoDB查询每次即使对象存在也返回nil

时间:2019-05-06 20:54:08

标签: swift amazon-web-services amazon-dynamodb dynamodb-queries

我有一个查询,每次运行它都会返回nil,尽管有一些带有密钥的项目。

我将表达式设置为以下内容:

queryExpression.keyConditionExpression = "#uID = :uidValue"

// in my model class
var uID: String?

uidValue是我正在比较“ uID”的值。

我已经阅读了AWS的文档,没有发现任何帮助。

//implementation of query
let dynamoDbObjectMapper = AWSDynamoDBObjectMapper.default()


dynamoDbObjectMapper.query(GameTracker.self, expression: queryExpression) { (output: AWSDynamoDBPaginatedOutput?, error: Error?) in
  if(output == nil){
    //create new user here, this keeps getting run each time
  }else{
    //user found, run other logic
  }
}

我正在运行我知道存在于表中的uID,但是每次它始终返回nil并引发错误。不幸的是,关于此的AWS文档没有提供很多新的见解,以了解我发现的问题可能出在哪里。

1 个答案:

答案 0 :(得分:0)

我通过将uID分配为我的分区键来解决此问题,而只是通过哈希键搜索。