大写和小写不适用于Aws dynamoDB中的Contains?

时间:2017-07-26 10:09:55

标签: case amazon-dynamodb contains

我有一个具有属性Event_Name的DynamoDB数据库,该数据库具有大写值,例如KRISHNA。当我指定具有小写值的Scan FilterExpression比较器CONTAINS时,例如krishna,则不会返回值为KRISHNA的项目。当我使用大写值时,它返回该项。请帮帮我。

供参考,我的代码是:

var params = {
    TableName: "User",
    FilterExpression: "NOT userId in (:a) and contains(Event_Name, :name)",
    ExpressionAttributeValues: {
        ":a": {
            S: $scope.userid
        },
        ":name": {
            S: namekey
        }
    }
};

使用dynamodb扫描方法

1 个答案:

答案 0 :(得分:1)

可能你已经想通了,但是因为我偶然发现了这个问题并且它没有关闭,所以这里是AWS论坛中解决问题的链接

https://forums.aws.amazon.com/thread.jspa?threadID=92159

  

DynamoDB区分大小写。如果您的数据不区分大小写,则一种解决方案是在将数据存储在DynamoDB中之前对数据进行小写或大写。然后你可以通过查询所有小写或全部大写来解决这个问题。您需要考虑区域设置以进行区域设置敏感的排序。

所以你没有做错,你只是期待DynamoDB无法提供的东西