1
我有代表文件夾結構的文檔。一個文件夾可以包含其他文件夾(嵌套),理論上無限深度,但更真實的3或4級爲我們的應用程序。我需要能夠檢索單個項目(一個節點),也許嵌入將使這項任務有點困難?用於文件夾結構的NoSQL架構
有什麼建議嗎?
我有代表文件夾結構的文檔。一個文件夾可以包含其他文件夾(嵌套),理論上無限深度,但更真實的3或4級爲我們的應用程序。我需要能夠檢索單個項目(一個節點),也許嵌入將使這項任務有點困難?用於文件夾結構的NoSQL架構
有什麼建議嗎?
The docs給出了在mongodb中存儲分層數據的更流行/常見的方法的很好的總結。
Embedding documents - 有顯著的缺點
- 硬盤搜索
- 很難拿回部分結果
- ,如果你需要一個巨大的樹可以得到笨拙。此外,MongoDB中的文檔大小有限制 - v1.8中爲16MB(未來版本的限制可能會增加)。
,因爲你需要能夠檢索單品 - 這是不可能對你的使用情況最好的選擇。
Array of ancestors或materialized path很可能會更適合您所描述的內容 - 您可以選擇使用_id的完整文件路徑,因爲這是唯一的,並且您希望通過更常見的方式找到數據。
應該看過文檔! http://www.mongodb.org/display/DOCS/Trees+in+MongoDB – 2012-04-04 10:03:58