【问题标题】:What are the advantages of storing date in database as an ISODate as opposed to a simple text?与简单文本相比,将日期作为 ISODate 存储在数据库中的优势是什么?
【发布时间】:2011-11-05 18:07:32
【问题描述】:

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

【问题讨论】:

    标签: mongodb datetime isodate database


    【解决方案1】:

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

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

    你说的是同样的事情:

    new Date(1320518005000);
    

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

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

    【讨论】:

    • 这是一个了不起的答案。谢谢你的详细信息。我已经用谷歌搜索了好几天了,但我还没有完全理解它。
    【解决方案2】:

    根据this source

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

    【讨论】:

      猜你喜欢
      • 2013-06-16
      • 1970-01-01
      • 1970-01-01
      • 2016-07-03
      • 1970-01-01
      • 2016-07-04
      • 2011-03-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多