代码之家  ›  专栏  ›  技术社区  ›  codex

使用PHP中的推文在MongoDB中查询日期范围

  •  1
  • codex  · 技术社区  · 8 年前

    我将文档存储在MongoDB中,每个文档都包含一个“created\u at”,如下所示:

    "created_at" : "Wed Jan 24 15:25:20 +0000 2018"
    

    我无法使用这样的格式进行范围查询。我是否应该更新所有文档并将其转换为可读日期?或者在PHP中是否有一种方法可以在不更新/损坏MongoDB中的文档的情况下转换PHP中的日期。后者似乎更为合理,因为我每天都在不断地向我的数据库发送推特流。

    1 回复  |  直到 8 年前
        1
  •  0
  •   rollstuhlfahrer    8 年前

    您应该重新考虑用于存储 created_at 时间戳。我建议将此数据转换为 ISODate (js)/ MongoDB\BSON\UTCDateTime (php)。

    使用这种格式,您可以在MongoDB中进行范围查询,而无需在php方面进行繁重的工作。

    转换数据包括以下步骤:

    • 一次性数据转换(更新youor MongoDB中已有的数据)
    • 更改数据流入以对所有新添加的数据使用新格式
    • 更改视图组件以处理新格式。

    一些相关链接: