【发布时间】:2015-05-20 01:10:30
【问题描述】:
我创建了一个简单的时间跟踪应用程序,人们可以在其中 TimeIn、TimeOut 和标记休息时间。此跟踪的中心对象是 User 生成的 Event。这与 UserStatus 相结合可确保状态管理是正确的。以下是架构减去 updatedAt createdAt 字段:
{
userId: { type : mongoose.Schema.Types.ObjectId, required: true },
localTime: {type: Date},
userEmail: { type: String, required: true },
type: { type : String, required: true },
ip: { type : String, required: false }
}
现在我正在尝试创建天事件的聚合。我脑海中的字段是 totalWorkTime、totalBreakTime(以秒为单位)、noOfBreaks,但我要解决的情况是用户忘记超时。请考虑:
- 用户在美国和马尼拉。
- 没有为用户分配任何时间段。
- 所以也许他们可以在当地时间晚上 11 点到凌晨 3 点工作。
- 如何将上述情况与错过超时区分开来,并且与当地时区非常吻合。
- 存储本地时间是否智能?反对存储 UTC。
最初的想法是在晚上 11:59 和第二天凌晨 12:00 进行计时和超时。但它并不适合。任何有关 Schema 或建议的模式的帮助都会有所帮助。谢谢!
【问题讨论】:
标签: node.js mongodb database-design mongoose nosql