【问题标题】:How to handle expired data in ArangoDB/AQL如何在 ArangoDB/AQL 中处理过期数据
【发布时间】:2014-06-25 06:39:10
【问题描述】:

我有一个包含会话数据的集合,并带有生存时间标志。我想使用 AQL 来查询会话数据,但我需要确保只返回“实时”会话。是否可以根据生存时间属性限制查询。

示例条目是

  {
    user: "marc",
    sessionData: {},
    expires: 1403678241
  }

AQL:

FOR u IN users FILTER u.user == "marc" return u

只有在未到期时才应返回用户。

【问题讨论】:

    标签: arangodb


    【解决方案1】:

    您可以使用 AQL 中的 DATE_NOW() 函数来检索时间戳 “现在”。要将其转换为可读的内容,您可以使用 DATE_ISO8601(DATE_NOW())。这需要 ArangoDB 2.1 或更高版本。

    请注意,以上适用于 UTC / Zulu 时间,没有 调整 DST 或时区。

    您可以在查询中使用 DATE_NOW,如下所示

    FOR u IN users FILTER u.user == "..." and u.expires >= DATE_NOW() return u
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-20
      • 2020-04-03
      • 1970-01-01
      相关资源
      最近更新 更多