DynamoDB Query в GSI с помощью FilterExpression - PullRequest
0 голосов
/ 30 мая 2018

Я пытаюсь выполнить запрос в GSI с помощью выражения фильтра, но AWS продолжает сообщать мне, что не находит выражение.Запрос выглядит следующим образом:

var tableQuery = {
        TableName: "posts",
        KeyConditionExpression: "#wy = :wkYr",
        FilterExpression: "#ac = :isAct",
        IndexName: "weekYear-date-index",
        ScanIndexForward: false,
        Limit: 50,
        ExpressionAttributeNames: {
            "#wy": "weekYear",
            "#ac": "isActive"
        },
        ExpressionAttributeValues: {
            ":wkYr": cWeekYear,
            ":isAct": {BOOL: true}
        }
    };

и отображается ошибка:

An expression attribute value used in expression is not defined; attribute value: :isAct

Я пробовал разные подходы, но, похоже, ничего не работает, есть идеи?

Консольный журнал текущего запроса:

 {
  "TableName": "posts",
  "KeyConditionExpression": "#wy = :wkYr",
  "FilterExpression": "#ac = :isAct",
  "IndexName": "weekYear-date-index",
  "ScanIndexForward": false,
  "Limit": 50,
  "ExpressionAttributeNames": {
    "#wy": "weekYear",
    "#ac": "isActive"
  },
  "ExpressionAttributeValues": {
    ":wkYr": 2040,
    ":isAct": {
      "BOOL": true
    }
  }
}

1 Ответ

0 голосов
/ 28 ноября 2018

Вот как вы должны передать значение ":isAct": true

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