如何处理ArangoDB/AQL中的过期数据

3
我有一个包含会话数据和生存时间标志的集合。我想使用AQL查询会话数据,但是我需要确保只返回“活动”的会话。是否可以根据生存时间属性限制查询?
示例条目为:
  {
    user: "marc",
    sessionData: {},
    expires: 1403678241
  }

AQL:

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

只有在未到期的情况下才应返回用户。
1个回答

3

你可以在AQL中使用DATE_NOW()函数来获取当前时间戳。如果要将其转换为可读的格式,可以使用DATE_ISO8601(DATE_NOW())函数。这需要ArangoDB 2.1或更高版本。

请注意,上述方法适用于协调世界时(UTC / Zulu),没有考虑夏令时或时区的调整。

你可以按照以下方式在查询中使用DATE_NOW:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接