MongoDB - 存储没有时区的日期
MongoDB - Storing date without timezone
我们有一个简单的应用程序,其中所有用户都在同一时区,因此我们没有兴趣将时区信息存储在 mongo 日期对象中。
采取如此极端步骤的原因是我们有多个微服务使用由不同开发人员管理的公共数据库。他们每个人都需要在查询中明确设置与时区相关的内容,并在无效数据集中忘记相同的结果。
目前 MongoDB 人 Mongo Data Types
不支持存储没有时区的日期。
只是想知道他们是否有任何替代方法来表示 mongo 中没有时区的日期,通过这种方法我们仍然可以利用 mongo 数据库查询基于日期的语法,如日期范围,日期等
同时方便DBA的读取和管理记录。
看看这个答案:
您可以使用两种类型的长表示法(毫秒或格式 yyyyMMddHHmmss)。这些是不存储时区并且仍然能够进行范围查询的唯一方法。
很遗憾,您丢失了一些聚合属性。但是你可以做一些事情,比如保留两个表示并在适当的时候使用它们。
更新:
不要像我之前说的那样存储日期。您将失去 MongoDB 的许多功能,并且很难在日期字段上执行主要运算符。
较新版本的 MongoDB 具有处理时区的运算符,应该足以处理 ISOTime 格式。我的应用程序使用我自己的建议来存储日期。现在我必须让我的用户 select 他们的时区(公司已经发展壮大,我们需要扩展到其他国家)。我们正在努力更改所有模型以使用时间戳而不是规范化的日期格式。
如需进一步探索 link:https://docs.mongodb.com/manual/reference/method/Date/
也可以使用MongoDB官方社区频道进行提问
这是link:https://developer.mongodb.com/community/forums/
您可以考虑以 UTC 格式存储所有日期并以 UTC 格式呈现给用户,这样您就不会遇到客户端 JavaScript、服务器或 MongoDB 进行静默转换的问题,并且因此混乱。
你可以这样做:new Date(Date.UTC(2000, 01, 28))
这是关于该主题的 MDN link。
我们有一个简单的应用程序,其中所有用户都在同一时区,因此我们没有兴趣将时区信息存储在 mongo 日期对象中。
采取如此极端步骤的原因是我们有多个微服务使用由不同开发人员管理的公共数据库。他们每个人都需要在查询中明确设置与时区相关的内容,并在无效数据集中忘记相同的结果。
目前 MongoDB 人 Mongo Data Types
不支持存储没有时区的日期。
只是想知道他们是否有任何替代方法来表示 mongo 中没有时区的日期,通过这种方法我们仍然可以利用 mongo 数据库查询基于日期的语法,如日期范围,日期等
同时方便DBA的读取和管理记录。
看看这个答案:
您可以使用两种类型的长表示法(毫秒或格式 yyyyMMddHHmmss)。这些是不存储时区并且仍然能够进行范围查询的唯一方法。
很遗憾,您丢失了一些聚合属性。但是你可以做一些事情,比如保留两个表示并在适当的时候使用它们。
更新:
不要像我之前说的那样存储日期。您将失去 MongoDB 的许多功能,并且很难在日期字段上执行主要运算符。
较新版本的 MongoDB 具有处理时区的运算符,应该足以处理 ISOTime 格式。我的应用程序使用我自己的建议来存储日期。现在我必须让我的用户 select 他们的时区(公司已经发展壮大,我们需要扩展到其他国家)。我们正在努力更改所有模型以使用时间戳而不是规范化的日期格式。 如需进一步探索 link:https://docs.mongodb.com/manual/reference/method/Date/
也可以使用MongoDB官方社区频道进行提问 这是link:https://developer.mongodb.com/community/forums/
您可以考虑以 UTC 格式存储所有日期并以 UTC 格式呈现给用户,这样您就不会遇到客户端 JavaScript、服务器或 MongoDB 进行静默转换的问题,并且因此混乱。 你可以这样做:new Date(Date.UTC(2000, 01, 28)) 这是关于该主题的 MDN link。