Couchdb "Get By Type"视图设计



所以对于我的文档,我有一个定义它们的类型属性。几乎对于所有这些"类型",我必须有一个"按类型获取"的调用。

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

  • 有一个视图,该视图具有映射所有文档的"类型"键

  • 每个"类型"都有一个只映射这些类型的视图,我可以查询视图以获取视图中的所有文档?

这取决于

数据库中有多少"类型"。如果很少 - 采用"按类型查看"的方法,你会很好,并且有更好的 API URL。

但是,当您在单个数据库中拥有大约 70 种类型(我的情况)的文档时,太忘乎所以无法理解这种方法不再有效,您需要一个视图来按类型过滤文档 - 您永远不会忘记为新文档类型添加特殊视图,您无需清理过时的视图。作为奖励功能,具有单一视图允许您通过单个请求检索多种类型的文档,并且只有一个复制任务可以在数据库之间同步多种类型的文档。对于文档的每个或大部分(如作者、updated_at等)通用的所有其他字段也是如此。

最终决定权在你,但最好采取将你从额外工作中解放出来的方式,一个额外的查询参数不会让放松的成本高得多。

我认为后者是最好的。为每种类型提供一个视图,用于查询/筛选该特定类型。这允许您从"蒲团视图"下拉列表中非常快速地显示特定类型的文档列表。几乎就像你在看"桌子"一样。但不是真的;-)

相关内容

最新更新