文件夹结构的NoSQL架构

时间:2012-04-04 09:55:25

标签: mongodb nosql

我有代表文件夹结构的文档。一个文件夹可以包含其他文件夹(嵌套),理论上我们的应用程序可以无限制地使用3级或4级。我需要能够检索单个项目(一个节点),也许嵌入会使这项任务有点困难?

有什么建议吗?

1 个答案:

答案 0 :(得分:3)

The docs概述了在mongodb中存储分层数据的更常用/常用方法。

Embedding documents - 有明显的缺点

  
      
  • 难以搜索
  •   
  • 很难找回部分结果
  •   
  • 如果你需要一棵大树,可能会变得笨重。此外,MongoDB中的文档大小有限制 - 在1.8版本中为16MB(未来版本的限制可能会增加)。
  •   

因为您需要能够检索单个项目 - 可能是您用例的最佳选择。

Array of ancestorsmaterialized path可能更适合您所描述的内容 - 您可以选择使用_id的完整文件路径,因为它是唯一的并且您想要查找的路径数据更常见。