本文介绍了在objective-c中带有扫描过滤器的dynamodb scanexpression的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
AWSDynamoDBObjectMapper *dynamoDBObjectMapper = [AWSDynamoDBObjectMapper defaultDynamoDBObjectMapper];
AWSDynamoDBScanExpression *scanExpression = [AWSDynamoDBScanExpression new];
scanExpression.exclusiveStartKey = nil;
scanExpression.limit = @20;
[[[dynamoDBObjectMapper scan:[DDBTableRow class]
expression:scanExpression]
continueWithExecutor:[BFExecutor mainThreadExecutor] withSuccessBlock:^id(BFTask *task) { ................
我能够扫描并返回从我的 DynamoDB 的特定表中记录的前 20 个,如上面的一段代码所示.
I am able to scan through and return the first 20 recorded from a specific table from my DynamoDB as shows on a piece of code above.
现在的问题是我想添加一个 scanExpression.scanFilter =
属性,但我还没有找到关于如何构建它的任何好的方向.我在 xcode6
The question now is I want to add a scanExpression.scanFilter =
property but I haven't find any good direction on how to build that. I am using AWSiOSSDKv2
aws sdk for iOS on xcode6
这是我目前所拥有的.还没有完成:
here is what I have so far. It is not complete yet:
AWSDynamoDBCondition *condition = [AWSDynamoDBCondition new];
AWSDynamoDBAttributeValue *attribute = [AWSDynamoDBAttributeValue new];
attribute.N = @"400";
condition.comparisonOperator = AWSDynamoDBComparisonOperatorEQ;
NSDictionary *scanFilter = @{@"lat":
@{@"AttributeValueList":attribute,
@"ComparisonOperator":@1}
};
scanExpression.scanFilter = scanFilter;
推荐答案
可以如下使用:
AWSDynamoDBCondition *condition = [AWSDynamoDBCondition new];
AWSDynamoDBAttributeValue *attribute = [AWSDynamoDBAttributeValue new];
attribute.N = @"400";
condition.attributeValueList = @[attribute];
condition.comparisonOperator = AWSDynamoDBComparisonOperatorEQ;
scanExpression.scanFilter = @{@"lat": condition};
这篇关于在objective-c中带有扫描过滤器的dynamodb scanexpression的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!