Mongodb架构设计建议

时间:2011-11-13 19:28:22

标签: mongodb database-schema

我正在开发我的第一个mongodb项目,并试图在Mongodb与关系dbs中围绕架构设计。

我想从几个RSS源创建蔬菜数据库。这些Feed中的每一个都有一个蔬菜名称标签供我使用。

1)我获得2种蔬菜营养信息

2)蔬菜种植/农业信息的3种饲料

3)博客文章的4个供稿

我只收到500种不同的蔬菜信息。

此方案中的最佳架构是:

A)每种蔬菜都有一个集合,并有营养,成长和博客文章的子集合?

B)或者有一个营养信息集合,一个用于农业信息,一个用于博客文章?

我设想用户主要查询蔬菜名称,但也可以查询其他字段。

1 个答案:

答案 0 :(得分:0)

MongoDB是无模式的 - 因此您不必像关系数据库一样考虑这一点。我知道一开始会让人感到困惑。此外,MongoDB不支持“子集合” - 您在集合中拥有文档(单个实体)。

我实际上会选择这个:

C)两个系列。蔬菜集合本质上是一个复杂的数组结构,不仅包含有关蔬菜的信息,还包含增长/营养信息。只需确保您需要搜索的每件作品create an index。如果您不能使用已存在的博客引擎,请单独收集博客文章。

这就是NoSQL的魅力 - 只要你索引 - 你可以使每个实体(在Mongo的情况下称为文档)非常复杂。希望这会有所帮助。