对于树形菜单,想必大家都不陌生,这种业务数据,由于量小,关系复杂,所以在关系型数据库中,存储的格式一般都如下所是:
id,name,pid
01,bigdata,00
002,hadoop,01...003,spark,01
02,search,01
03,lucene,02
04,es,02
有没有人感到困惑,为啥不使用,主外键表,存储这种数据,而非得只使用一张表来存储呢?...如果使用主外键表存储,通常关系越复杂需要的外键表越多,假如你有8层关系,意味着你需要join到8个外键表,才能获取一条完整数据,这样一比,大多数时候,还是将这种数据,存储在一个表中,然后通过父字段进行找到上一级...当然树形菜单的数据,也可以存储在neo4j里面,从而提供强大的查询分析功能,neo4j的小数据下的例子与xmind的思维导图非常类似,都有着一图胜万语强大表现能力。...下面说下将树形菜单,存储到neo4j的思路:
(1)递归的每行数据是一个节点,首先插入所有的节点
(2)找到每个节点的父节点做为start节点,本身作为end节点,建立起关系
上面的两个步骤既可以分开执行