0

我有如下图所示的图形数据库结构。

在此处输入图像描述

如前所述,我有3 个文档集合 - Collection 1Collection 2Collection 3。我也有2 个Edge 集合 - Edge Collection 1有一个属性类型,它可以采用两个值T1T2Edge Collection 2

我有一个满足集合 1 的特定过滤条件的文档列表 - 所有状态属性已完成的文档。假设列表如下

l1 = [c1a, c1b, c1c]

现在,从列表中的每个项目作为开始,我需要找到沿着Edge Coll 1中的边缘遍历的集合c2,并且该边缘必须是 T1 类型,该项目使用 Edge Coll 1 中的边缘和类似的集合项目c3沿着边缘遍历在Edge Coll 2中。

获得两者后,我需要将其存储为三元组 - {coll 2, coll 1, coll 3} 对于列表中找到的每个 coll 1 项目

我知道我可以使用type == T1 和 _from == coll 1._id过滤Edge Coll 1中的项目。

同样,我可以重复Edge Coll 2并将这两个结果合并到我的后端 (GoLang) 中。

但是,如果我能够使用图形遍历和单个宏(类似于 SQL 宏),那会很慢并且会更好。那时我只需要对 DB 进行一次后端调用。

4

0 回答 0