需要在MongoDB裡儲存一個有序的樹表
例如
- 1,a
-
- 11,b
- 2,c
-
- 21,d
- 22,e
-
- 221,f
- 23,g
- 3,h
依據MongoDB官方文件
http://docs.mongodb.org/manual/tutorial/model-tree-structures/
裡的各種方案,同級的文檔是沒有順序的。但是我需要能排序(能體現該文件在本級中的上下位置) 同時需要在同級中移動和插入新資料。
目前我能想到的方案
方案1,將該文檔在本級的順序寫到文檔內。
問題:
方案2,在上級文檔中保存一個下級文檔排列順序的數組
問題:
關於樹狀結構,有多種建模方法。你採用了哪一種呢?
如果你的順序是自然順序,那麼對路徑欄位建立索引就可以得到順序結果。特別是採用物化路徑的方法。如:
這種方式可以很快的查詢到一個節點下所有字節點,並且所有節點可以按照path排序
請參閱正在翻譯的中文文件:http://docs.mongoing.com/manual-zh/tutorial/model-tree-structures-with-materialized-paths.html