与 Arangodb 的双时态
Bitemporal with Arangodb
是否有任何模式或示例可用于使用 ArangoDB 进行双时态建模?我正在评估我选择数据库的选项,ArangoDB 似乎具有所需的功能。
拉斯
不,我们目前不知道如何在 Arangodb 中执行此操作的现有示例。
然而,阅读 the code project article about Bitemporal Database Design 你会在 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
}
但是,如果您能更详细地了解您的用例,可能会得到更准确的答案。
是否有任何模式或示例可用于使用 ArangoDB 进行双时态建模?我正在评估我选择数据库的选项,ArangoDB 似乎具有所需的功能。
拉斯
不,我们目前不知道如何在 Arangodb 中执行此操作的现有示例。
然而,阅读 the code project article about Bitemporal Database Design 你会在 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
}
但是,如果您能更详细地了解您的用例,可能会得到更准确的答案。