我要过滤2列具有相同值的所有dynamo数据库行
new_df = data.frame(colors=the_colors, count=the_count)
这是错误的,因为我们无法在eq语句内传递KeyConditionExpression。我不想浏览所有行并过滤行。
浏览了多极资源和答案,但每种资源都讨论了多列检查,但有些值不涉及列的多个条件
反正我们能做到吗?
答案 0 :(得分:0)
是的,这是可能的。
如果要查询所有需要使用scan
的记录,则要查询仅具有一个特定分区键的记录,可以使用query
。
对于两者,您都可以使用FilterExpression,它会在从数据库中检索记录之后但在将记录返回给用户之前过滤记录(因此请注意,使用此方法进行的扫描将读取 all < / strong>您的记录)。
从CLI进行的扫描可能如下所示:
aws dynamodb scan \
--table-name your-table \
--filter-expression "#i = #j" \
--expression-attribute-names '{"#i": "column1", "#j": "column2"}'
答案 1 :(得分:0)
使用分区键“ Column1Value#Column2Value”创建全局二级索引
然后只需查询GSI。