документация о том, как создавать сложные запросы для AWS dynamodb для приложения iOS

#ios #amazon-web-services #amazon-dynamodb

#iOS #amazon-веб-сервисы #amazon-dynamodb

Вопрос:

Я пытаюсь создать приложение, в котором запрашивается база данных пользователей с относительно сложным набором параметров запроса. Я нашел базовую документацию о том, как выполнять запросы с помощью aws mobile sdk (http://docs.aws.amazon.com/mobile/sdkforios/developerguide/dynamodb_om.html ) но я не уверен, как выполнять более сложные операции (т.е. Несколько условий запроса одновременно).

В качестве примера, если я хочу запросить базу данных для пользователей, содержащих определенные значения в атрибуте list и подпадающих под определенные атрибуты lat и lon, как я могу это сделать?

Возможно, это может быть невозможно с помощью dynamo, но если нет, то какой тип базы данных мне следует использовать и где будет документация для формирования этих составных запросов в iOS?

Спасибо

Ответ №1:

Вы можете настроить ключи диапазона для таких значений, а затем выполнить запрос с помощью 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

Спасибо, Рохан