У меня есть заказ, который я хочу сохранить в DynamoDB, со следующими полями:
- Дата заказа: 2019-03-27 02:09 pm
- Имя: Джон
- Фамилия: Доу
- Электронная почта: john@example.com
- Телефон: 555-11434
- Адрес: 13 Лоронг Чанги, Санни Шорс
- Город: Сингапур
- Почтовый индекс: 654321
- Страна: Сингапур
- Статус: новый, подтвержденный, доставленный
(Не определено ни одного уникального идентификатора заказа)
Сначала я объединил имя и фамилию "Джон Доу" в качестве ключа разделения и установил дату заказа в качестве ключа сортировки.Это работало довольно хорошо, пока:
Я подумал, что не могу запросить ключ раздела (имя клиента).Я хочу иметь возможность просматривать заказы клиентов, по клиентам!
Во-вторых, URL-адреса, обращающиеся к порядку, будут выглядеть так: https://example.com/2019-03-27/John%20Doe...
то есть пробел вызывает некоторую путаницу.Есть ли более эффективный способ кодировать имя?
Я больше всего интересуюсь адресом электронной почты, но, изучая его, кажется, что электронная почта - это плохое поле для использования.
Шаблоны доступадовольно простыНужен способ:
- Поиск заказа
- Поиск по клиенту (может быть имя, адрес электронной почты)
- Запрос по статусу заказа
Я пытался создать составной ключ со статусом заказа и датой заказа, но это не помогло: Заменить старый элемент новым в DynamoDB