首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >文档数据库设计:多层次分类(MongoDB )

文档数据库设计:多层次分类(MongoDB )
EN

Stack Overflow用户
提问于 2010-10-11 06:00:45
回答 1查看 2.2K关注 0票数 3

我试图找出正确的方法来思考基于文档的数据存储系统中的这个问题。我有一个简单的例子,一个两层的分类系统,其中有工业和工业集团(想想管道和家庭服务)。

我的第一个想法是,该文件将是工业集团,它将有工业,但问题是,大部分相关的数据将是一个行业。我不确定在文档中是否有与子项目相关的数据是“合乎道德的”。例如,一篇文章可能被分配给一个行业,而不是一个组--那么这个引用看起来如何(假设链接来自一个非嵌套文档)?

总之,对正确的思考方式的一些一般的洞察力将是很棒的。

EN

回答 1

Stack Overflow用户

发布于 2010-10-11 06:08:53

设计任何非关系数据库的最佳方法是基于对数据运行所需的查询,而不是数据本身。

您可以任意设计非关系数据库,因为没有与关系数据库一样的规范化规则

关于你的评论:

您需要枚举数据查询的所有方式。然后决定哪种文档结构将使查询在每种情况下都最方便。

由此,可能会出现一些模式。然后,使用您的判断来决定选择哪种文档结构,以满足最大的查询横截面。

还请记住,在MongoDB中,冗余存储数据是很好的。推荐,事实上,因为一个单一的文档结构不太可能适合所有的查询。您可能会发现,对于大多数查询来说,一个文档结构非常好,但使最后一个查询变得不可能。这时,您应该创建一个备用的冗余文档集合来服务最后一个查询,因为所有其他查询都被处理了。

没有关于构造非关系数据库的规则。这使得它们比关系数据库更难。对不起,NoSQL是塔斯达的例子!

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3903805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档