我有一个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()做到这一点,但我不知道具体细节。