dynamodb scanex pression用Objective-C的扫描过滤器 [英] dynamodb scanexpression with scan filter in objective-c

查看:239
本文介绍了dynamodb scanex pression用Objective-C的扫描过滤器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  AWSDynamoDBObjectMapper * dynamoDBObjectMapper = [AWSDynamoDBObjectMapper defaultDynamoDBObjectMapper]
    AWSDynamoDBScanEx pression * scanEx pression = [AWSDynamoDBScanEx pression新]。
    scanEx pression.exclusiveStartKey =零;
    scanEx pression.limit = @ 20;
    [[[dynamoDBObjectMapper扫描:[DDBTableRow类]
                      EX pression:scanEx pression]
      continueWithExecutor:[BFExecutor mainThreadExecutor] withSuccessBlock:^ ID(BFTask *任务){................
 

我能够扫描并从我的DynamoDB返回从特定的表记录的第20为显示在一张code以上。

现在的问题是我想添加一个 scanEx pression.scanFilter = 属性,但我还没有找到如何建立,任何好的方向发展。我使用 AWSiOSSDKv2 AWS SDK的iOS上的 X code6

这里是我到目前为止所。它尚未完成:

  AWSDynamoDBCondition *条件= [AWSDynamoDBCondition新]
    AWSDynamoDBAttributeValue *属性= [AWSDynamoDBAttributeValue新]
    attribute.N = @400;
    condition.comparisonOperator = AWSDynamoDBComparisonOperatorEQ;

    的NSDictionary * scanFilter = @ {@纬度:
                                     @ {@AttributeValueList:属性,
                                       @ComparisonOperator:@ 1}
                                 };
    scanEx pression.scanFilter = scanFilter;
 

解决方案

您可以使用它,如下所示:

  AWSDynamoDBCondition *条件= [AWSDynamoDBCondition新]
AWSDynamoDBAttributeValue *属性= [AWSDynamoDBAttributeValue新]
attribute.N = @400;
condition.attributeValueList = @ [属性]。
condition.comparisonOperator = AWSDynamoDBComparisonOperatorEQ;
scanEx pression.scanFilter = @ {@纬度:条件};
 

    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) { ................

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.

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;

解决方案

You can use it as follows:

AWSDynamoDBCondition *condition = [AWSDynamoDBCondition new];
AWSDynamoDBAttributeValue *attribute = [AWSDynamoDBAttributeValue new];
attribute.N = @"400";
condition.attributeValueList = @[attribute];
condition.comparisonOperator = AWSDynamoDBComparisonOperatorEQ;
scanExpression.scanFilter = @{@"lat": condition};

这篇关于dynamodb scanex pression用Objective-C的扫描过滤器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆