2

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

有什么建议么?

4

1 回答 1

3

文档对在 mongodb 中存储分层数据的更流行/常见的方法进行了很好的总结。

嵌入文档- 有明显的缺点

  • 很难搜索
  • 很难取回部分结果
  • 如果您需要一棵大树,可能会变得笨拙。此外,MongoDB 中的文档大小有限制——v1.8 中为 16MB(未来版本可能会增加限制)。

由于您需要能够检索单个项目 - 这可能不是您的用例的最佳选择。

祖先数组物化路径可能更适合您所描述的内容 - 您可以选择使用 _id 的完整文件路径,因为它是唯一的,并且您希望通过更常见的方式查找数据。

于 2012-04-05T08:38:56.240 回答