小编Nar*_*han的帖子

如何在 DynamoDB 中过滤嵌套数组对象

我是 AWS DynamoDB 的初学者,我想使用 SENDTO.emailAddress = "first@first.com" 作为 FilterExpression 扫描 DynamoDB。

数据库结构看起来像这样

{
    ID
    NAME
    MESSAGE
    SENDTO[
        {
            name
            emailAddress
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

样本数据

{
    ID: 1,
    NAME: "HELLO",
    MESSAGE: "HELLO WORLD!",
    SENDTO: [
        {
            name: "First",
            emailAddress: "first@first.com"
        },
        {
            name: "Second",
            emailAddress: "second@first.com"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

我想检索与 emailAddress 匹配的文档。我尝试使用过滤器表达式进行扫描,这是我检索数据的代码。我正在使用 AWS Javascript SDK。

let params = {
    TableName : "email",
    FilterExpression: "SENDTO.emailAddress = :emailAddress",
    ExpressionAttributeValues: {
        ":emailAddress": "first@first.com",
    }
}

let result = await ctx.docClient.scan(params).promise();
Run Code Online (Sandbox Code Playgroud)

amazon-dynamodb aws-sdk-nodejs aws-sdk-js

6
推荐指数
2
解决办法
9864
查看次数