Ios 使用AWSDynamoDBScanExpression查找列表中具有键的所有对象
我有一个键列表[key1,key2,key3](在我的groups对象中作为NSArray),我想使用Objective-C查找DynamoDBIos 使用AWSDynamoDBScanExpression查找列表中具有键的所有对象,ios,objective-c,amazon-dynamodb,fetch,aws-sdk,Ios,Objective C,Amazon Dynamodb,Fetch,Aws Sdk,我有一个键列表[key1,key2,key3](在我的groups对象中作为NSArray),我想使用Objective-C查找DynamoDBgroups表中的所有值 这应该是一项简单的任务,但我遇到了一个错误,我对如何为AWSDynamoDBScanExpression对象生成filtereexpression感到有点困惑: AWSDynamoDBScanExpression *sc = [AWSDynamoDBScanExpression new]; sc.limit = @10; sc
groups
表中的所有值
这应该是一项简单的任务,但我遇到了一个错误,我对如何为AWSDynamoDBScanExpression
对象生成filtereexpression
感到有点困惑:
AWSDynamoDBScanExpression *sc = [AWSDynamoDBScanExpression new];
sc.limit = @10;
sc.filterExpression = @"GroupID IN :val";
sc.expressionAttributeValues = @{@":val":groups};
[[dynamoDBObjectMapper scan:[Group class] expression:sc] continueWithBlock:^id(AWSTask *task) {
if (task.error) {
NSLog(@"The request failed. Error: [%@]", task.error);
}
if (task.exception) {
NSLog(@"The request failed. Exception: [%@]", task.exception);
}
if (task.result) {
AWSDynamoDBPaginatedOutput *output = task.result;
NSArray *items = output.items;
}
return nil;
}];
错误:
请求失败。错误:[Error Domain=com.amazonaws.awsdynamodberrodomain Code=0“(null)”UserInfo={{uuuuu type=com.amazon.coral.validate}ValidationException,message=Invalid FilterExpression:语法错误;标记:“:val”,靠近:“IN:val”}]
[[dynamoDBObjectMapper scan:[Group class] [AWSDynamoDBScanExpression new]] continueWithBlock:^id(AWSTask *task) {
//do stuff with (AWSDynamoDBPaginatedOutput obj).items -> should contain object of class Group
return nil;
}];
AWSDynamoDBScanExpression *scanExpression = [[AWSDynamoDBScanExpression alloc] init];
scanExpression.expressionAttributeNames = @{
@"#P": [NSString stringWithFormat:@"%@", <propertyNameToFileter>]
};
scanExpression.filterExpression = @"#P = :val";
scanExpression.expressionAttributeValues = @{
@":val" : <filterCriteriaForProperty>
};
AWSDynamoDBScanExpression*scanExpression=[[AWSDynamoDBScanExpression alloc]init];
scanExpression.Expression属性名称=@{
@“#P”:[NSString stringWithFormat:@”%@,]
};
scanExpression.filterExpression=@“#P=:val”;
scanExpression.Expression属性值=@{
@“:val”:
};
AWSDynamodPaginateDoutput
打印任务描述->\u结果:
AWSDynamodPaginateDoutput:0x7ff8faf56cc0