利用MongoDB从有向图结构中获取路径

2024-04-18 07:06:37 发布

您现在位置:Python中文网/ 问答频道 /正文

背景

我有一个mongodb数据库,其中的文档包含一个标题和它所连接的其他文档的标题列表。其他标题列表包含数据库中尚不存在的标题。对于某种推荐和寻找等式,我需要知道两个文档之间的距离,尤其是如何从一个文档到另一个文档。你知道吗

理想情况下,我希望有一个解决方案,我不需要知道我的程序中的整个数据库,这将使这个问题有点微不足道。你知道吗

image

我尝试的

我尝试在聚合中使用$graphLookup,但我觉得它不能为我提供一个通用的解决方案。使用$graphLookup,我可以得到元素A及其所有连接的元素(B,D)“populated”,但是结果非常粗糙,看起来非常粗糙。你知道吗

预期结果

我想知道从一个元素到另一个元素的所有可能路径(可能具有最大深度)。你知道吗

基于上图,对于查询"A -> B",我想得到一个"A, D, B""A, B"的列表。你知道吗

对于"A -> G",我想得到"A, B, F, G""A, B, G""A, D, B, G"。你知道吗

可悲的是,我有很多元素(成千上万)。是否有一些智能查询,我可以使用它来获得准确的结果,只使用一个查询?或者至少进行一些智能过滤查询,只得到所有相关文档的一个子集,然后我就可以用python或python语言将其与图论结合起来node.js?你知道吗


Tags: 文档数据库元素距离标题列表智能mongodb