我的文档如下所示:
{'id': 123,
'favorites': [5, 3, 7, 8, 1, 9, 2]}
在本文档中,收藏夹是列表类型。我想查询最新的收藏或第一个/最后5个收藏。我不确定如何在DynamoDB中实现这一点。请帮忙。
答案 0 :(得分:0)
在寻找这个问题一段时间之后,遗憾的是DynamoDB不支持它。可能是,它将来会得到支持。
答案 1 :(得分:0)
在当前(2021 年 6 月 22 日)example of documentation 中,他们使用 size(info.actors)
来获取大小。
你可以这样做:
ConditionExpression='#list[0] = :num',
ConditionExpression='size(#list) = :num',
但是,您不能这样做:
ConditionExpression='#list[ size(#list)-1 ] = :num',
根据 boto3 documentation,看起来不可能得到最后一个元素。
迄今为止我发现的最佳解决方法是:
#list[0]
contains(#list, :elem)