在 arangodb 中存储日期的最佳方法

Posted

技术标签:

【中文标题】在 arangodb 中存储日期的最佳方法【英文标题】:The best way to store date in arangodb 【发布时间】:2021-11-03 20:47:39 【问题描述】:

我需要将资源创建日期存储在 arangodb 中。此外,我需要按创建日期过滤资源:

FOR doc in Docs
    FILTER doc.created < @some_date
    RETURN doc

最好的方法是什么?


可能的解决方案:


    // one
    created: "<iso8601-date>", // Persistent index, use DATE_TIMESTAMP()

    // two
    created: "<timestamp-str>", // Persistent index, use TO_NUMBER
    
    // three
    created: <timestamp-int>, // Persistent index

【问题讨论】:

【参考方案1】:

刚刚找到这个documentation。简而言之:日期可以存储为 iso8601 格式的字符串,也可以作为数字时间戳。所有比较操作都将正确有效地工作。

【讨论】:

【参考方案2】:

我建议您以 Unix Epoch Seconds 格式存储日期,因为这有助于日期范围查询并确保您的客户能够可靠地将日期格式化为可用格式。

当日期只是一个数字时,很容易在范围内进行时间查询,因为 1 小时只是 3600 秒。

如果您需要更多粒度,那么将日期存储为 Unix Epoch MilliSeconds 也会有所帮助。

您可以使用这种格式存储早于 1/1/1970 的日期,它们只是负整数。

【讨论】:

以上是关于在 arangodb 中存储日期的最佳方法的主要内容,如果未能解决你的问题,请参考以下文章

将日期和时间存储在 MySQL 数据库中以便以后使用 PHP 显示的最佳方法是啥?

Arangodb 是不是支持存储查询?

在 Android SQLite 中处理日期的最佳方式 [关闭]

ArangoDB介绍——未知架构和底层原理

开源NoSQL数据库:ArangoDB 入门指南

防止重复使用信用卡的最佳方法