gpt4 book ai didi

node.js - 用于时间跟踪的 MongoDB 架构设计

转载 作者:太空宇宙 更新时间:2023-11-03 22:36:01 25 4
gpt4 key购买 nike

我创建了一个简单的时间跟踪应用程序,人们可以在其中计时、超时并标记休息时间。此跟踪的中心对象是由用户生成的事件。这与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 计时和超时。但它不太适合。任何有关架构或建议架构的帮助都会有所帮助。谢谢!

最佳答案

以 UTC 格式存储时间及其时区偏移。

const now = new Date();
console.log( now.getTime() );
console.log( now.getTimezoneOffset() );

关于node.js - 用于时间跟踪的 MongoDB 架构设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29101926/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com