2012-02-24 61 views
0

这个问题已经被问多种形式,但我更关心的是架构设计和影响:指数横跨收藏MongoDB中

我有两个类型的集合。我希望每种类型都可以通过标签和关键字进行索引,以便组织和搜索。我的理解是,索引不能在集合中创建,解决方案是在一个集合中包含这两种类型,为了区分而在索引类型上创建索引,并为此集合中的标记和关键字创建索引。我对此的理解是否准确?这种模式有什么缺点吗?可扩展性问题如何(例如,出现分片问题)?

感谢您的帮助!

+0

你可以举两个类型的文件的例子吗?你需要在同一个查询中搜索并返回两种类型吗? – 2012-02-24 19:54:12

+0

这两种类型是项目和节点 - 项目实际上包含节点,尽管它们只是dbrefs。我想在同一个查询中返回两种类型,并按类型作为排序方法进行分隔。 – Jeff 2012-02-24 20:54:59

回答

2

是的,你的理解是正确的。但是,不要将项目和节点整理到一个集合中,而只需运行两个查询。这可以避免一些可扩展性“问题”,因为这两个集合可以分开分割和平衡。 和两个索引查找不会比一个慢。