DynamoDB:如何使用查询过滤器检查 MAP 中的条件?

DynamoDB: How to use a query filter to check for conditions in a MAP?

我在 dynamo 数据库中有一个名为“TABLE”的 table。行的结构如下,

{
  "parent_id": {
    "S": "India"
  },
  "id": {
    "S": "5164981654811"
  },
  "data_format_version": {
    "N": "2"
  },
  "configuration": {
    "M": {
      "key1": {
        "S": "value1"
      },
      "key2": {
        "S": "[{\"key2Id\":\"Java_x_Python\",\"actions\":\"PUT\"},]"
      }
    }
  }

现在,如果配置的 key2 包含字符串 Python,我需要扫描 dynamo DB 来获取数据。

语言:Java 有人可以帮忙吗?

您可以将 DynamoDB 扫描与过滤器表达式结合使用。本文档有这样的例子:https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ScanJavaDocumentAPI.html

参考下面的文档构造表达式。您可以使用 contains (path, operand)https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.OperatorsAndFunctions.html

由于您使用的是嵌套地图,因此您的路径为:configuration.key2