【问题标题】:How can i use FilterExpression over Nested Attributes in DynamoDB (Python)?如何在 DynamoDB (Python) 中对嵌套属性使用 FilterExpression?
【发布时间】:2017-07-19 15:17:59
【问题描述】:

这是我的 json 模型:

item=item={"Company":"ABCD",
               "Industry":"Invest.Services",
               "Sector":"Financial",
               "Financial_Results":
                             [{"Date":"2007-03-31","Frequency":"Annual","REV1":"20","REV3":"33"},
                              {"Date":"2008-03-31","Frequency":"Annual","REV1":"20","REV3":"34.43"},
                              {"Date":"2012-03-31","Frequency":"Annual","REV1":"30","REV3":Decimal("230")},
                              {"Date":"2013-03-31","Frequency":"Quarterly","REV1":Decimal("30"),"REV3":"3.32"},
                              {"Date":"2013-06-31","Frequency":"Quarterly","REV1":Decimal("20"),"REV3":"-0.343"},
                              {"Date":"2013-09-31","Frequency":"Quarterly","REV1":"20.50","REV3":"-0.543"}]
             }
    table.put_item(Item=item)

item=item={"Company":"EFGH",
               "Industry":"Mining",
               "Sector":"Metals",
               "Financial_Results":
                             [{"Date":"2007-03-31","Frequency":"Annual","REV1":"20","REV3":"33"},
                              {"Date":"2008-03-31","Frequency":"Annual","REV1":"20","REV3":"34.43"},
                              {"Date":"2012-03-31","Frequency":"Annual","REV1":"30","REV3":Decimal("230")},
                              {"Date":"2013-03-31","Frequency":"Quarterly","REV1":Decimal("30"),"REV3":"3.32"},
                              {"Date":"2013-06-31","Frequency":"Quarterly","REV1":Decimal("20"),"REV3":"-0.343"},
                              {"Date":"2014-03-31","Frequency":"Annual","REV1":"20.50","REV3":"-0.543"}]
             }
    table.put_item(Item=item)

公司 - 分区键(哈希键)。

没有范围键(排序键)。

我的要求是:

  • 如何过滤“日期”属性等于或大于“2013 年 3 月 31 日”和“REV1”属性只有少于零的项目。

注意: 我已经参考了以下链接 http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.Attributes.html#DocumentPaths

我仍然没有得到任何结论。请帮助我。提前致谢

【问题讨论】:

  • 您好,欢迎来到 Stack Overflow,请花点时间通过 welcome tour 了解您在此处的方式(并获得您的第一个徽章),阅读如何创建 minimal reproducible example示例并检查How to Ask,这样您就可以增加获得反馈和有用答案的机会。
  • 只是不可能,因为它是一个对象列表。
  • @notionquest 感谢您的宝贵回复。但是有没有其他方法可以让我获得与上述相同的功能。

标签: python amazon-web-services amazon-dynamodb boto boto3


【解决方案1】:

终于研发了一整天,终于找到了答案。 根据 AWS DynamoDB 文档和其他认真的研究,我得出结论,我的 json 模型准备(在顶部)目前不受支持。根据我的要求,我需要扁平化我的数据而不是文档基础。感谢每一位贡献者。

【讨论】:

    猜你喜欢
    • 2021-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 2017-11-26
    • 2017-12-23
    • 2017-12-03
    • 1970-01-01
    相关资源
    最近更新 更多