将日期作为ISODate存储在数据库中而不是简单文本有什么好处?

时间:2011-11-05 18:07:32

标签: mongodb datetime isodate database

为什么我要将其存储为ISODate而不是简单文本?

2 个答案:

答案 0 :(得分:6)

MongoDB中的

ISODate只是一个为常见的JavaScript Date构造函数提供友好包装的函数。当你在MongoDB中这样说时:

ISODate('2011-11-05T18:33:25Z')

你说的是同样的事情:

new Date(1320518005000);

但人类可以阅读ISO 8601日期比阅读1970年1月1日以来的毫秒数要容易得多。

因此,使用ISODate可以在数据库中为您提供一个真实的Date对象,您可以在其上调用方法(例如getMonth),同时还能够轻松地看到它的值。如果您使用字符串作为日期,那么当您必须处理日期时,您将一直在解析字符串。一个例子是进行map/reduce汇总月度数据;你可以解析字符串以提取月份,但是当你可以使用知道几个月的真实日期对象时,为什么还要烦恼呢?

答案 1 :(得分:0)

根据this source

  

有许多格式可用,其中大多数格式不兼容   其他人,选择约会可能是一个可用性的噩梦   为国际跨文化写作时的代表性   观众,就像网络上的情况一样。幸运的是,有一个   ISO开发的国际日期格式的解决方案。