首页 > 解决方案 > DynamoDb 中 Set 属性的部分匹配条件

问题描述

我看到CONTAINS有条件运算符来检查标量属性中的子序列和集合属性中的精确值匹配。

我想表演一个subsequence check for each item inside a set attribute。DynamoDb 是否支持这种类型的过滤?

我似乎在文档中找不到类似的东西。

标签: amazon-dynamodb

解决方案


不,DynamoDB 不支持。该contains功能仅可用于检查以下情况:

  • 包含特定子字符串的字符串。
  • 包含集合中特定元素的集合。

此外,Set 的定义不需要元素是有序的,因此寻找元素的有序子集是没有意义的。如果您需要对数据进行排序,则必须使用List属性而不是Set属性。

编辑:我想我误解了你的问题。我最初以为您想检查一个集合是否包含某个有序子集。重新阅读您的问题后,您似乎想找出字符串集中的任何(或所有)单个元素是否包含给定的子字符串。

这在 DynamoDB 中也是不可能的,并且由于您不能使用文档路径来访问集合中的元素,因此无法遍历元素并检查每个元素。从 DynamoDB 取回项目后,您必须在应用程序中执行此过滤。


推荐阅读