Time DynamoDB设计,可储存时间和小时数
我有一个存储时间范围的要求。例如,我想知道是否每天在开始时间和结束时间之间触发事件。假设用户在早上6点到10点和下午4点到晚上8点之间登录。我计划使用以下json作为一个新属性来存储这个范围Time DynamoDB设计,可储存时间和小时数,time,range,amazon-dynamodb,Time,Range,Amazon Dynamodb,我有一个存储时间范围的要求。例如,我想知道是否每天在开始时间和结束时间之间触发事件。假设用户在早上6点到10点和下午4点到晚上8点之间登录。我计划使用以下json作为一个新属性来存储这个范围 "duration-timestamp": [ { "start_time" : "360" "end_time" : "600" }, { "start_time" : "960" "end_ti
"duration-timestamp": [
{
"start_time" : "360"
"end_time" : "600"
},
{
"start_time" : "960"
"end_time" : "1200"
}
]
虽然我的代码可以处理这个问题,但不确定这是否是一种优雅的处理方式
注意:我无法为开始时间和结束时间创建新项目,因为我希望为单个项目捕获此时间数组
编辑1:
- 我可以有多个类似上面提到的事件。可能是看谁只在周六和周日登录李>
- 我不是在寻找质疑的方法。将添加一个gsi来实现这一点
- 360转为早上6点。它以分钟表示
- 逻辑将围绕此编写,因此尝试了解这是否是正确的存储方式
- 是的,计划使用地图
{
"description": {
"S": "Office hours"
},
"begintime": {
"S": "14:00"
},
"endtime": {
"S": "18:00"
},
"name": {
"S": "office-hours"
},
"type": {
"S": "period"
},
"weekdays": {
"SS": [
"mon-fri"
]
}
}
并不是说AWS对所有用例都是正确的,但这里有一个内部团队研究类似于您的问题的示例,以及他们是如何解决的
也许查看他们关于此特定工具的文档将有助于您设计解决方案:
您需要更清楚地了解这些问题。您只是在寻找存储数据的方法,还是需要为这些数据编写查询,以及查询这些数据的频率。为了将其存储在DynamoDB级别,您可以使用映射列表,即持续时间时间戳的字段和内部字段(开始时间和结束时间)的映射,或者您可以将JSON字符串化并将其存储在DynamoDB中。这很有帮助。非常感谢。