firebase-realtime-database - 在 FirebaseDB 中对每天变化的班次进行建模
问题描述
我正在使用 Android Studio 和 Google 的 Firebase 数据库创建一个小型轮班管理应用程序。
我希望它允许管理员选择一个日期(从日历中)并设置该日期的班次数以及其他参数(例如每班的员工人数、每班的开始和结束时间等)。
这是我第一次开始这个项目时的想法:
{
"accounts" : {
"admin" : {
"email" : "admin@gmail.com",
"password" : 123
}
"user1" : {
"email" : "user1@gmail.com",
"password" : 234
}
},
"config" : {
"shiftsPerDay" : {
"Shift 2" : {
"end" : "00:00",
"name" : "eveningShift",
"numOfEmps" : 2,
"start" : "16:00",
"wage" : 0
},
"Shift 1" : {
"end" : "16:00",
"name" : "morningShift",
"numOfEmps" : 3,
"start" : "8:00",
"wage" : 0
}
}
}
但这只有在每天的班次数固定的情况下才有效。我希望每个日期都有自己的班次数(例如 1/18-3;1/19-4;1/20-1;..1/25-3;1/26-2 等等)。
有没有更好的方法使用 Firebase 对这种结构进行建模?
解决方案
如果您想为每一天存储单独的班次,请将这些天的级别添加到您的 JSON 结构中:
"config" : {
"shiftsPerDay" : {
"20190118": {
"Shift 2" : {
"end" : "00:00",
"name" : "eveningShift",
"numOfEmps" : 2,
"start" : "16:00",
"wage" : 0
},
"Shift 1" : {
"end" : "16:00",
"name" : "morningShift",
"numOfEmps" : 3,
"start" : "8:00",
"wage" : 0
}
}
}
}
推荐阅读
- reactjs - Apollo GraphQL 请求被取消
- sonarqube - 我已经为 Sonarqube 安装了法语语言包,但我不知道如何更改默认语言
- javascript - 如何使用几个 next.js 插件(打字稿和手写笔)
- c++ - 从 make 调用 CMake 以获取系统库路径
- sql - 进出考勤SQL查询
- sql-server - 如何在 Peewee 中覆盖 LIMIT 和 OFFSET?
- python - 使用字典理解将函数应用于每个键的特定子键
- tensorflow - 为什么第一个密集层不“密集”?
- python-3.x - 在 Python 中添加 Mock 对象
- python - 在numpy中覆盖矩阵行的有效方法