是否有任何模式或示例可用于使用 ArangoDB 进行双时态建模?我正在评估我选择数据库的选项,ArangoDB 似乎具有所需的功能。
拉斯
不,我们目前不知道如何在 Arangodb 中执行此操作的现有示例。
但是,阅读有关双时态数据库设计的代码项目文章,您会在 ArangoDB 中做类似的事情 - 具有开始和结束日期的两个属性。
然而,这种方法的问题是,您不能在一个跳过列表索引中组合两个属性的范围。可以通过将 start 属性的范围指定在查询范围内来解决此问题。然后,第二个过滤器将整理出不满足结束时间戳的文档:
FOR item IN testCollection
FILTER item.startTime < @startTimeMin AND item.startTime > @startTimeMax
FILTER item.endTime < @endTimeMax
RETURN item
使用绑定值:
{
startTimeMin: '2016.01.15',
startTimeMax: '2016.01.30',
endTimeMax: '2016.01.25
}
但是,如果您可以更详细地了解您的用例,则可能会做出更准确的答案。