是否可以从AWS DynamoDB控制台搜索嵌套属性?我能够搜索所有顶级属性,但搜索任何嵌套属性总是导致空结果集。
例如,对于下面提供的文档,我可以在任何顶级字段上扫描和添加过滤器,例如id,name等。
但是我无法扫描,并在设备上进行过滤。我正在尝试过滤器as device.name ='Xaomi'
{ id:'jhfdgu75457y8r', 名称:'Parag', 设备:{名称:'Xaomi',国家:'中国'} }
请注意,我是通过AWS控制台执行此操作,而不是任何客户端库。 AWS控制台是否允许对嵌套对象进行过滤?
答案 0 :(得分:2)
DynamoDB中的所有数据都是stored as either a string, binary or number。
当您使用SDK访问DynamoDB时,它通常会将这些主要内容转换并转换为复杂的数据类型,例如列表和地图。
控制台仅适用于主要数据类型。在这种情况下,您的设备属性被视为字符串,因此您不能通过device.name嵌套属性进行过滤。
然而,你可以简单地做一个字符串过滤器。例如,使用contains运算符和值"name":"Xaomi"
答案 1 :(得分:1)
目前无法在控制台上使用。
我也在寻找一种解决方案,我可以根据嵌套属性的值找到一个项目。
但目前只能通过 SDK 或 CLI 而不是控制台。
AWS 支持团队在此确认 - https://forums.aws.amazon.com/thread.jspa?messageID=931016
答案 2 :(得分:-2)
在过滤器类型"设备"而不是device.name 并选择"包含"而不是" ="在下拉列表中