#amazon-dynamodb #dynamodb-queries
Вопрос:
Мы храним карту в DynamoDB (не мой выбор дизайна). Таким образом, в основном ключ может содержать список значений. Что-то вроде map[строка][]Что-то разрушенное.
Мы можем добавить значение к данному ключу только в том случае, если для данного ключа существует только N или менее значений. Например, если «key1» уже имеет 3 значения, я не могу добавить другое значение, но если оно имеет менее 3 значений, я могу добавить еще одно значение.
Я посмотрел на Условные записи, но не смог найти условное выражение, которое помогло бы в этом. Мы будем очень признательны за любую помощь. Спасибо!
Ответ №1:
Вам нужно будет сохранить количество записей в списке рядом со списком, возможно, что-то подобное сработает:
{
"key1": {
"list": [1,2,3,4],
"listLength": 4
}
}
Вам нужно будет убедиться, что список и длина списка синхронизированы.
В качестве альтернативы вы можете получить товар, проверить его длину, а затем обновить с условием, чтобы убедиться, что он не обновлялся между получением и операцией обновления.