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

gmol1639  于 2022-12-09  发布在  Go
关注(0)|答案(2)|浏览(187)

我需要在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
}
wpcxdonn

wpcxdonn1#

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

amrnrhlw

amrnrhlw2#

我建议您以Unix Epoch Seconds格式存储日期,因为这有助于日期范围查询,并确保您的客户端能够可靠地将日期格式化为可用的格式。
当日期只是一个数字时,那么很容易在范围内进行时间查询,因为1小时只是3600秒。
如果您需要更高的粒度,则将日期存储为Unix纪元毫秒也会有所帮助。
您可以使用此格式存储早于1/1/1970的日期,它们将仅为负整数。

相关问题