DynamoDB - 查询索引中的NULL键

时间:2016-08-31 19:54:43

标签: null amazon-dynamodb

我有一个表格,其索引由以下键组成:

Partition Key: channel
Sort Key: username

在我的应用中,我需要提取未设置用户名的记录。我很好奇这是否可行(没有过滤器)以及语法应该是什么样子。我使用Go SDK,但这可能不相关。这是param结构的一个例子:

{
    ExpressionAttributeValues: {
        :v_channel: {
            S: "redirects"
        },
        :v_username: {
            NULL: true
        }
    },
    IndexName: "channel-username-index",
    KeyConditionExpression: "channel = :v_channel AND username = :v_username",
    TableName: "messages"
}

这当然失败了。错误:

  

query错误:ValidationException:一个或多个参数值无效:条件参数类型与模式类型不匹配

我还没有找到正确语法的例子,我发现一个帖子说这根本不可能。另一种方法是拉动所有内容并过滤(可能在DynamoDB中,但绝对在代码中)。

顺便说一句,这确实有效:

{
    ExpressionAttributeValues: {
        :v_channel: {
            S: "redirects"
        }
    },
    FilterExpression: "attribute_not_exists(username)",
    KeyConditionExpression: "channel = :v_channel",
    TableName: "feedback-messages"
}

感谢您的帮助!

0 个答案:

没有答案