MongoDB树结构多个父项,求和,乘

时间:2017-08-15 12:03:22

标签: mongodb tree graph-databases aggregation

我正在尝试建立一个物料清单迷你应用程序。

下面的层次结构图显示了如何有多个组件(110个数字),其中包含一个或多个部件(100个数字)或嵌套在它们下面的组件。

Bill of materials heirarchy

目前我的数据结构如下:

my:item

有一个名为' bill_of_material_usages'它存储有关零件或组件的子项以及引用的版本的信息。

我试图找出如何在表格中表示这一点,其中每个组件都列出了它的所有零件和子组件。

我还想弄清楚如何累加零件的总量。这意味着如果A组件中有2个组件B,组件B中有3个A组件,则总共有2 * 3 = 6个A部分。

有关如何使用当前数据结构或更好的结构执行此操作的任何建议都非常棒。

我目前正在使用MongoDB,Flask,vis.js和谷歌图表。

谢谢!

1 个答案:

答案 0 :(得分:0)

我使用一个递归函数解决了这个问题,该函数跟在树的子分支之后,直到最后一个孩子没有其他子元素。这允许我构建一个结构化的树并计算单个部分的实例总数。

递归函数受到可能的递归次数(想一想)的限制,尽管这种限制不太可能对我的用例产生影响。