Фильтрация запроса DyamoDB для исключения значений (DynamoDB, Javascript) - PullRequest
0 голосов
/ 23 февраля 2019

Ситуация: Я создал DynamoDB, к которому обращается Lambda-скрипт.Доступ к данным с помощью запроса и получения работает нормально - также для глобальных вторичных индексов

Задача: Для одного варианта использования мне нужно запросить глобальный индекс второго дня и отфильтровать результат, чтобы исключить элементыкогда у них есть определенное значение для другого атрибута

Что я сейчас пытаюсь сделать (пример кода):

const paramsQueryAndFilter = {
        TableName: "Sample",

        //Search for items based on Global Secondary Index for Attribute 1
        IndexName: "Attribute_1-index", // is a Global Secondary Index
        KeyConditionExpression: "Attribute_1 = :Attribute_1",
        ExpressionAttributeValues: {
            ":Attribute_1": "70"
        },

        //Filter items 
        ExpressionAttributeNames: {
            "Attribute_2": "Attribute_2"
        },
        //Filter Attribute 2 to exclude value "excludeValue"
        FilterExpression: "Attribute_2 ne :excludedValue",
        ExpressionAttributeValues: {
            ":excludedValue": "false"
        }
}

Что яищу: Я надеюсь получить представление о том, как правильно отфильтровать элементы на основе Attribute_2.

1 Ответ

0 голосов
/ 06 марта 2019

Используйте фильтр запросов в указанном выше коде

KeyConditionExpression: "Attribute_1 = :Attribute_1",
        ExpressionAttributeValues: {
            ":Attribute_1": "70"
        },

 QueryFilter: {
'<Attribute_1>': {
  ComparisonOperator: "EQ", /* required */
  AttributeValueList: [  "somevalue", "somevalue2"  ]
}

См. Документацию: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html#query-property

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...