Amazon dynamodb 带嵌套查询的DynamoDB GetBatch操作

Amazon dynamodb 带嵌套查询的DynamoDB GetBatch操作,amazon-dynamodb,aws-appsync,Amazon Dynamodb,Aws Appsync,所以我的情况是,我在AWS DynamoDB用户表中有以下JSON数据: [{ "name": "data1", "addresses": [{ "city": "Mumbai", "state": "Maharashtra" },

所以我的情况是,我在AWS DynamoDB用户表中有以下JSON数据:

[{
        "name": "data1",
        "addresses": [{
                "city": "Mumbai",
                "state": "Maharashtra"
            },
            {
                "city": "Chennai",
                "state": "Tamil Nadu"
            }
        ]
    },
    {
        "name": "data2",
        "addresses": [{
            "city": "Amritsar",
            "state": "Punjab"
        }]
    }
]
现在我需要得到所有拥有孟买和阿姆利则等城市的用户。那么我应该如何创建一个查询来获得这个结果呢

我尝试使用嵌套查询进行扫描,并使用GetBatch按多个值进行搜索。但这一切都没有发生。有人能解释一下这个问题吗?我正在尝试在AWS AppSync上执行此操作


谢谢

不幸的是,DynamoDB不支持以这种方式查询嵌套属性

通过将地址存储在复杂属性中,您已经对用户和地址之间的一对多关系进行了建模。这是建模一对多关系的常见模式。这种模式的缺点是,您不能支持任何按地址获取用户的访问模式


相反,您需要以支持按地址获取用户的方式对一对多关系进行建模。理想情况下,地址将内置到主键中,这样您就可以执行快速的
查询
操作。

。是的,我也做了很多研究,但都没弄明白。谢谢你的澄清。