我正在尝试创建一个应用程序,其中使用相对复杂的查询参数集查询用户数据库。我已经找到了关于如何使用aws mobile sdk(http://docs.aws.amazon.com/mobile/sdkforios/developerguide/dynamodb_om.html)查询的基本文档,但我不确定如何执行更复杂的操作(即同时有多个查询条件)。
作为一个例子,如果我想在数据库中查询包含list属性中某些值并且属于某个lat和lon属性的用户,我该怎么办呢?
也许这对Dynamo来说可能是不可能的,但如果没有,那么我应该使用哪种数据库类型以及在iOS中形成这些多部分查询的文档在哪里?
由于
答案 0 :(得分:0)
您可以为这些值配置范围键,然后使用rangeKeyConditionExpression进行查询。像这样:
AWSDynamoDBQueryExpression *queryExpression = [AWSDynamoDBQueryExpression new];
queryExpression.indexName = @"Author-Price-index";
queryExpression.hashKeyAttribute = @"Author";
queryExpression.hashKeyValues = @"John Smith";
queryExpression.rangeKeyConditionExpression = @"Price < :val";
queryExpression.expressionAttributeValues = @{@":val":@50};
这应该可以让您了解如何实现某些过滤。您还可以使用逻辑运算和条件来放置多个过滤器。请参阅:http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Condition.html
谢谢, 罗汉