В параметрах KeyConditions или KeyConditionExpression должны быть указаны Nodejs и DynamoDB. - PullRequest
0 голосов
/ 27 марта 2019

У меня есть следующий код js узла, который должен перечислить все элементы из таблицы DynamoDB,

import * as dynamoDbLib from "../../libs/dynamodb-lib";
import { success, failure } from "../../libs/response-lib";

export async function main(event, context) {
  const params = {
    TableName: "brands",

    KeyConditionExpression: "brandId = :brandId",
    ExpressionAttributeValues: {
      ":brandId": ''
    }
  };

  try {
    const result = await dynamoDbLib.call("query", params);
    return success(result.Items);
  } catch (e) {
     console.log(e);
     return failure({ status: false });
  }
}

Идентификатор в формате uuid, который при вставке из моего узла js был импортирован с помощью:

import uuid from "uuid";

затем вставляется в таблицу, например:

brandId: uuid.v1()

Теперь, когда я запрашиваю элементы в таблице, я могу получить только одну запись, если и только если я жестко закодировал UUID записив значении атрибута выражения, поэтому я подумал о добавлении регулярного выражения для соответствия всем uuids, мое регулярное выражение было скопировано из некоторых решений в Интернете, но оно не работало, это было похоже на следующее:

[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}

и

\b[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12}\b

и я пробовал другие примеры, но ни один из них не сработал, правильно ли добавлять регулярное выражение для получения всех элементов, и если да, то каково правильное регулярное выражение для него?

1 Ответ

0 голосов
/ 01 апреля 2019

Используйте операцию сканирования, чтобы получить все элементы в таблице.

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