如何用Python/Boto3查询DynamoDB中Map所有元素的指定属性
如何在Boto3中高效查询嵌套JSON的指定字段
你可以用Boto3的ProjectionExpression结合通配符语法实现类似JQ的字段筛选,无需返回整个JSON。
针对你给出的JSON结构:
{ "partition_key": "1", "map": { "a": {"x": "value1", "y": "value4"}, "b": {"x": "value2", "y": "value5"}, "c": {"x": "value3", "y": "value6"} } }
如果只想返回map下所有子对象的x字段,直接在get_item中使用带通配符的ProjectionExpression即可,示例代码如下:
table.get_item( Key={'partition_key': '1'}, ProjectionExpression="map.*.x" )
这里的通配符*会匹配map下的所有键(a、b、c),再指定提取每个键对应对象里的x字段,这样就只会返回需要的x值,不会加载体积较大的y字段。
内容的提问来源于stack exchange,提问作者alagris
相关产品推荐
相关产品推荐

