为什么我要存储为 ISODate 而不是简单的文本?
问问题
900 次
2 回答
6
ISODate
在 MongoDB 中只是一个函数,它为通常的 JavaScript Date构造函数提供了一个友好的包装器。当你在 MongoDB 中这样说时:
ISODate('2011-11-05T18:33:25Z')
你说的是同样的事情:
new Date(1320518005000);
但人类阅读ISO 8601日期比阅读自 1970 年 1 月 1 日以来的毫秒数要容易得多。
因此, usingISODate
为您提供了数据库中的一个真实 Date 对象,您可以在该对象上调用方法(例如getMonth
),同时还可以轻松查看其值。如果您使用字符串作为日期,那么当您必须使用日期时,您将一直在解析字符串。一个例子是做一个map/reduce来聚合每月数据;您可以解析字符串以提取月份,但是当您可以使用知道月份是什么的真实日期对象时,为什么还要为此烦恼呢?
于 2011-11-05T18:42:09.203 回答
0
根据这个来源:
有很多可用的格式,其中大多数与其他格式不兼容,以至于在为国际、跨文化的读者写作时选择日期表示可能是一场可用性噩梦,就像在网络上的情况一样。幸运的是,在 ISO 开发的国际日期格式中有一种解决方案。
于 2011-11-05T18:24:57.727 回答