Как мне переписать этот запрос с помощью DynamoDB DocumentClient?

Я тестирую запросы в консоли и хочу реализовать их в своем коде. Мне было любопытно, как добавить это в мой код Node.js. Я думаю, это как-то связано с QueryFilter, но я изо всех сил пытаюсь понять это.

введите описание изображения здесь

let params = {
    TableName: tableName,
    KeyConditionExpression:
      'TimeId = :timeId and begins_with ( TypeKey , :typeKey) ',
    QueryFilter: ?,
    ExpressionAttributeValues: {
      ':timeId': `${year}-${week}`,
      ':typeKey': 'GA',
    },
  };

person Matthew Spahr    schedule 24.11.2020    source источник
comment
Пожалуйста, добавьте код.   -  person Or Assayag    schedule 24.11.2020


Ответы (1)


Параметры запроса должны выглядеть примерно так

{
  "TableName": "tableName",
  "KeyConditionExpression": "#PK = :timeId And begins_with(#SK, :typeKey)",
  "FilterExpression": "contains(#homeTeam, :team)",
  "ExpressionAttributeValues": {
    ":timeId": {
      "S": "2020-12"
    },
    ":typeKey": {
      "S": "GA"
    },
    ":team": {
      "S": "Value"
    }
  },
  "ExpressionAttributeNames": {
    "#PK": "TimeId",
    "#SK": "TypeKey",
    "#homeTeam": "homeTeam"
  }
}

Когда вы научитесь составлять запросы для DDB, ознакомьтесь с Amazons NoSQL Workbench . Он имеет приятный графический интерфейс для создания операций (например, обновления, удаления, запроса, сканирования и т. Д.) И даже генерирует код для выполнения операции. Я нахожу это очень полезным в таких ситуациях, как ваше столкновение.

person Seth Geoghegan    schedule 24.11.2020