如何通过AWS控制台查询DynamoDB中指定嵌套属性为空的记录
在AWS控制台查询DynamoDB中嵌套属性为空或不存在的记录
针对你需要获取productInfo.survey.water_products_you_own属性为null(不存在)或空列表的记录,以下是AWS控制台的具体操作方法:
核心逻辑说明
之前使用contains/not contains无效的原因是:这两个操作符仅用于检查集合(列表/集合)是否包含指定元素,或字符串是否包含子串,无法匹配属性不存在或空列表的场景。需要用attribute_not_exists(判断属性不存在)和size()函数(判断列表为空)结合逻辑OR来实现。
控制台操作步骤
- 登录AWS控制台,进入DynamoDB服务,打开目标数据表。
- 切换到扫描选项卡(若该嵌套属性已创建全局二级索引,也可使用查询,但扫描是无索引时的通用方案)。
- 在「条件表达式」区域配置筛选规则:
- 点击添加条件,配置第一个条件:
- 路径:输入
productInfo.survey.water_products_you_own - 操作符:选择「不存在」(对应表达式:
attribute_not_exists(productInfo.survey.water_products_you_own))
- 路径:输入
- 点击添加条件,配置第二个条件:
- 路径:输入
productInfo.survey.water_products_you_own - 操作符:选择「大小」,值输入框填
0(对应表达式:size(productInfo.survey.water_products_you_own) = 0)
- 路径:输入
- 将两个条件的逻辑关系从默认的「AND」修改为「OR」
- 点击添加条件,配置第一个条件:
- 点击运行扫描,即可得到符合要求的记录。
内容的提问来源于stack exchange,提问作者Kannan T
相关产品推荐
相关产品推荐

