[英]ArangoDB comparison of documents in different databases
我想知道是否可以比较存储在不同数据库中的两个具有相同“ _id”(相同的集合名称和“ _keys”)的文档。
我的用例是一个自定义的“地图/布局引擎”,它“主要”由外部地理数据系统中的“自动导入/转换作业”提供。
到目前为止,一切正常。
但是,在某些情况下,必须手动调整某些对象的“ x / y”坐标,以使它们更有用。 通过再次运行导入作业,所有手动调整都将丢失,因为所有手动调整都被“自动”数据简单覆盖了。
因此,我想到一个由几个结构相同的ArangoDB数据库组成的系统设置,用于数据生命周期的不同“阶段”,例如:
相应的(简化的)生命周期将是这样的:
因此,本主题全都涉及步骤2在“生产”和“登台”数据值之间的“比较阶段”。
在SQL中,我用sth表示。 像这样:
SELECT
x, y
FROM databaseA.layout AS layoutA
JOIN databaseB.layout ON (layoutA.id = layoutB.id) AS layoutB
WHERE
...
感谢您提供有关如何使用AQL查询或FOXX服务在ArangoDB中解决此问题的任何提示!
假设,如果您有一个版本控制图数据库,则可以执行以下操作:
R0
。 N
,从而引起N
的新修订版本,例如R1
。 您的先前版本R0
不会丢失。 最后,当您需要向最终用户显示此数据时,请使用自定义应用程序逻辑将所需的多个先前版本与当前版本进行合并,进行n-way
合并而不是2-way
合并。
如果您认为这可能是一个潜在的解决方案,则可以看看CivicGraph ,它是建立在ArangoDB之上的版本控制层。
注意:我是CivicGraph的创建者,这个答案可以作为产品的促销,但是我也相信它可以帮助解决您的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.