过滤DynamoDB中对象内的元素

时间:2016-06-02 01:49:38

标签: python-3.x amazon-dynamodb

我有一个DynamoDB表,其中包含如下所示的对象:

{
    'username': ...,
    'subscriptions': [
        ...
    ],
    ...
}

我想基于某些条件筛选每个用户的订阅,并获取具有符合条件的订阅的对象,但过滤这些对象以便仅存在匹配的订阅。

如果用户订阅了50件事,但只有3件匹配,我想找回一个对象,其中`subscriptions'字段只有3个元素长。我还需要对象中包含的其他信息。

为了给出一个更具体的例子,假设我的表中有两个元素:

{
    'username': 'alice',
    'subscriptions': [
        1,
        2
     ],
     'email': 'alice@a.com'
},
{
    'username': 'bob',
    'subscriptions': [
        2,
        3
    ],
    'email': 'bob@a.com'
}

我想过滤以获得订阅“1”。我想回来

{
    'username': 'alice',
    'subscriptions': [
        1
    ],
    'email': 'alice@a.com'
}

或许是其他一些包含所有必要信息的结构(为了节省带宽,没有其他信息)。

我相信我可以用scan()做到这一点,但我不知道具体细节。

0 个答案:

没有答案