Как искать объект в списке внутри объекта DynamoDB и Python - PullRequest
0 голосов
/ 02 мая 2018

Мне нужна помощь, чтобы получить элемент из вложенной JSONschema в DynamoDB. Я объясню вам схему, и вы можете сказать мне, если это возможно.

Схема:

{
    "updated_at": "2018/05/02 08:32:10",
    "created_at": "2018/05/02 08:32:10",
    "updated_by": "igor",
    "created_by": "igor",
    "application": [
        {
            "name": "driver app",
            "features": [
                {
                    "name": "passenger list",
                    "settings": [],
                    "description": "feature for passenger list",
                    "id": 2
                }
            ],
            "id": 1,
            "url": "play store"
        },
        {
            "name": "passsenger app",
            "features": [],
            "id": 2,
            "url": "play store"
        }
    ],
    "address": "New York",
    "id": 4,
    "url": "https://airlink.moovex.com",
    "name": "airlink",
    "service_locations": [
        {
            "title": "IL",
            "latitude": 32,
            "longitude": 35
        }
    ]
}

Мне нужно получить из списка приложений объект по идентификатору с запросом.

1 Ответ

0 голосов
/ 15 мая 2018

Я не уверен, что это отвечает на ваш вопрос, но, если вам нужно получить список приложений для объекта с определенным идентификатором, это то, что вы бы сделали

import boto3

DyDB = boto3.resource('dynamodb')

table = DyDB.Table('YourTableName')

response = table.query(
    ProjectionExpression='application',
    KeyConditionExpression=Key('id').eq(4) # where 4 is the id you need to query
)

# this is just to test the result
for app in response['Items'][0]['application']:
    print(app['id'])

Ответ вернет вам (в списке предметов) атрибут приложения со списком приложений внутри него

...