Условие частичного совпадения для атрибута Set в DynamoDb - PullRequest
0 голосов
/ 12 декабря 2018

Я видел, что есть CONTAINS условный оператор для проверки подпоследовательности в скалярных атрибутах и ​​точного сопоставления значений в заданных атрибутах.

Я хотел выполнить subsequence check for each item inside a set attribute.DynamoDb поддерживает этот тип фильтрации?

Я не могу найти ничего подобного в документации.

1 Ответ

0 голосов
/ 12 декабря 2018

Нет, это не поддерживается DynamoDB.Функцию contains можно использовать только для проверки следующих условий:

  • a Строка, содержащая определенную подстроку.
  • a Набор, которыйсодержит определенный элемент в наборе.

Кроме того, определение набора не требует упорядочения элементов, поэтому нет смысла искать упорядоченное подмножество элементов,Если вы хотите, чтобы ваши данные были упорядочены, вы должны использовать атрибут List, а не атрибут Set.

Редактировать: Мне кажется, я неправильно понял ваш вопрос.Сначала я думал, что вы хотите проверить, содержит ли набор определенное упорядоченное подмножество.Перечитывая ваш вопрос, кажется, что вы хотите выяснить, содержит ли какой-либо (или все) отдельный элемент (элементы) набора строк заданную подстроку.

Это также невозможно в DynamoDB, и, поскольку вы не можете использовать путь документа для доступа к элементам набора, нет способа перебирать элементы, проверяя каждый из них.Вы должны выполнить эту фильтрацию в своем приложении после возврата элемента из DynamoDB.

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