gpt4 book ai didi

swift - 具有多个 hashKeyValues 的 AWS DynamoDB Swift 查询

转载 作者:行者123 更新时间:2023-11-28 08:51:38 25 4
gpt4 key购买 nike

如何使用 AWSDynamoDBQueryExpressionhashKeyValues 查询多个项目?它毕竟被称为 hashKeyValues(复数)并且它确实需要一个 id,但我无法让它与 以外的任何东西一起工作字符串.

假设一个 Person 表,主键为 id,一个 name 字段,它有一些 id 为 1,2 的数据, 3,4, ... 和以下代码。

class Person: AWSDynamoDBObjectModel, AWSDynamoDBModeling {
var id :String?
var name :String?

// MARK: - AWSDynamoDBModeling

static func hashKeyAttribute() -> String! {
return "id"
}

static func dynamoDBTableName() -> String! {
return "Person"
}
}

和查询代码

    let mapper = AWSDynamoDBObjectMapper.defaultDynamoDBObjectMapper()

let queryExpression = AWSDynamoDBQueryExpression()
/* this works
queryExpression.hashKeyValues = "1"
*/

// but I really want something like...
queryExpression.hashKeyValues = ["1", "5", "99"]

mapper.query(Person.self, expression: queryExpression) .continueWithBlock { (task) -> AnyObject! in
if (task.error != nil) {
print("Names from IDs lookup failed: \(task.error)")
} else if (task.result != nil) {
let people = task.result.items as! [Person]
for person in people {
print("---> \(person.name)")
}
} else {
print("Task result is nil")
}
return nil
}

最佳答案

在这种情况下,如果您知道需要检索的确切键,您希望使用 batchGet 而不是查询。

http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/batch-operation-document-api-java.html

抱歉,它是在 java 中。

关于swift - 具有多个 hashKeyValues 的 AWS DynamoDB Swift 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34049054/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com