获取dynamo表中属性的所有值的列表,无需重复

2024-04-27 12:05:24 发布

您现在位置:Python中文网/ 问答频道 /正文

I have a dynamodb table like this

name     company

Juan      comp1 
Camilo    comp2
Andres    comp1
...       ...

我想使用boto3和python3.8获得这样的数组:

[comp1, comp2]

有没有办法避免查询所有行,然后过滤重复的行


Tags: namehavetable数组thisboto3dynamodbcompany
1条回答
网友
1楼 · 发布于 2024-04-27 12:05:24

除非company是主键结构的一部分,否则必须scan整个表以确定company属性的所有唯一值。如果在您的应用程序中获得一个唯一的{{*CD2}}项的列表是一个核心访问模式,您应该考虑以不同的方式存储数据。p>

DynamoDB中的唯一性至少可以通过两种方式实现

  1. 主键-在主键结构中包含唯一属性
  2. 通过在创建项时强制约束(例如,使用ConditionExpressionattribute_not_exists强制唯一性)

如果你想在你的表中重复EME>公司属性(这是完全好的),你可以考虑用公司名称作为主键的一部分创建一个辅助索引。例如,可以将主键定义为公司的分区键和公司名称的排序键。这样,您就可以查询companys分区并获得公司名称的唯一列表

相关问题 更多 >