amazon-dynamodb - 如何管理 dynamoDB 结构?
问题描述
我们正在尝试创造类似 uber-eats 的东西。后端是无服务器的。我们有菜单项,每个项目都有它的属性,这些属性存储在 DynamoDB 的菜单表中。
此应用程序仅适用于单一餐厅特许经营权。我们具有从不同商店订购同一特许经营权的功能。产品的一些属性,如标题、价格、SKU 是常见的。但是促销、可用库存等属性对于不同的网点是不同的。
我正在尝试将结构管理为:
{
"title": "title",
"sku": "sku00",
"price": "$20",
"promotions": {
"outlet1": {
"discount": "20",
"start_date": "12-02-2021"
},
"outlet2": {
"discount": "10",
"start_date": "10-02-2021"
}
},
"stock": {
"outlet1": {
"available": "20",
"alert": false
},
"outlet2": {
"available": "10",
"alert": true
}
}
}
但是我不能为促销创建二级索引,因为二级索引只支持 B|N|S。如何管理数据,以便我可以保持后端的高性能。
我们需要根据网点查询数据,因为当我们获取单品数据时,过滤器将根据网点进行,促销和库存中的数据将仅针对过滤器中的网点。例如,我想查询 outlet1 的数据,然后
{
"title": "title",
"sku": "sku00",
"price": "$20",
"promotions": {
"discount": "20",
"start_date": "12-02-2021"
},
"stock": {
"available": "20",
"alert": false
}
}
解决方案
推荐阅读
- c - c中的scanf语句和指针
- android - 尝试连接 MQTT 时机器不在网络上?
- flutter - 如果列表不为空,则颤动上下文变为空
- mongodb - 带有分页的猫鼬查询无法正常工作
- sql - 在 Oracle 中创建带间隔的时间维度表
- docker - SocketIO (docker 副本) + Nginx + Browser = 副本总数的重复发出事件
- php - 抽象工厂类返回接口类型,找不到方法?
- php - Laravel-file_put_contents()-打开流失败,权限被拒绝
- java - Java如何将0作为分母显示在有理类中
- php - 如何在php中运行节点模块并显示输出?