2013-10-21 31 views
0

所以对于我的文档,我有一个定义它们类型属性。而几乎所有这些“类型”中,我必须有一个叫“按类型得到” ..CouchDB的“度日型”视图设计

现在的问题是这些设计的一个更有效;

  • 有与映射的所有文件

  • 对每个“类型”,只是映射这些类型视图的“类型”的一个关键的单一视图,我可以查询查看获取视图中的所有文档?

回答

1

这取决于从你有多少“种”在你的数据库。如果很少 - 按照“按类型查看”的方法,你会很好,并有更好的API网址。

但是,当您在单个数据库中有大约70种类型(我的大小写)的文档时,它会太不知道这种方法不再有效,并且您需要一个视图按类型过滤文档 - 你永远不会忘记为新的文档类型添加你的特殊视图,你不需要清理过时的视图。作为附加功能,拥有单一视图允许您使用单个请求检索多种类型的文档,并且只有一个复制任务可在数据库之间同步多种类型的文档。对于每个或大部分文档都常见的其他字段(例如author,updated_at等)也是如此。

最终决定是你的,但最好采取将释放你额外的工作和一个额外的查询参数是不是有放松更高成本的方式。

+0

我只是有几个类型,因此它从来就不是一个问题。另外我真的很喜欢让他们在蒲团的意见下拉列表中。但是你是对的,应该考虑不同类型的数量。 – Locohost

1

我认为后者是最好的。为每种类型查询/过滤该特定类型的视图。这使您可以从蒲团视图下拉菜单中快速显示特定类型文档的列表。几乎就像你在看“桌子”。但没有真正;-)