如何过滤数组中的嵌套属性?例如,使用以下架构,如何扫描location_id为“ xxxx”的位置?
{
"locations": [
{
"location_id": "xxxx",
"location_name": "location x"
},
{
"location_id": "yyyyy",
"location_name": "location y"
}
]
}
答案 0 :(得分:0)
不幸的是,Dynamo不支持其中路径嵌套在集合中的条件表达式contains()
。
例如如果位置不是一组地图,但不能执行contains(locations, xxxx)
或contains(locations.location_id, xxxx)
,它将能够支持locations. contains(location_id, xxxx
。
但是,在这种情况下,您使用的是过滤器表达式,因此必须理解,在从表中获取数据并向您收费之后, 之后应用了过滤器表达式收集数据。这意味着使用它们的唯一真正优势是您可以传输(通常免费)更少的数据,并在客户端中获取更少的数据。
这意味着对于您想要的“复杂”过滤器,您自己过滤返回的结果具有成本效益。