首页 > 解决方案 > 在代码中使用 DynamoDB 过滤器表达式或过滤器哪个更好?

问题描述

在我们的应用程序中,我们必须过滤一些数据。我们正在使用 Dynamo DB。在我们的团队中,我们对在发电机或应用程序级别使用过滤器表达式有不同的看法。我想知道这个行业一直在关注什么。如果您知道一些好的博客,请告诉我?

考虑这种情况,我们必须在活动状态下处理模板,用户可以将其停用。在 get list 调用中,我们只想发送活动模板。

发电机:

filterCondition := expression.Name(activeColumn).Equal(expression.Value(true))

应用:

List<DealTemplate> templates = getTemplate()
for templaes := range templates {
    if template.isActive {
        // process
     }
}

标签: databasenosqlamazon-dynamodb

解决方案


可能会接近基于意见答案的问题。

但最好的解决方案是结构化您的数据,这样您就不必过滤掉任何东西。使用本地二级索引(LSI - 无额外费用)或全球二级索引(GSI - 额外费用)

这样您就不必为读取被丢弃的数据付费。

否则使用过滤器表达式。您仍然需要付费才能读取数据,但您无需付费即可将其传输回来;如果在 AWS 之外,则以实际 $$ 和开销计算。


推荐阅读