【问题标题】:Couchdb "Get By Type" view designCouchdb“按类型获取”视图设计
【发布时间】:2013-10-21 14:38:10
【问题描述】:

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

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

  • 拥有一个视图,该视图的键的“类型”映射所有文档

  • 对每个“类型”都有一个仅映射这些类型的视图,并且我可以查询该视图以获取视图中的所有文档?

【问题讨论】:

    标签: mapreduce couchdb couchdb-futon


    【解决方案1】:

    这取决于您的数据库中有多少“类型”。如果很少 - 使用“按类型查看”方法,你会很好并且拥有更好的 API URL。

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

    最终决定权在您手中,但最好采取可以让您免于额外工作的方式,并且一个额外的查询参数不会带来太多放松的成本。

    【讨论】:

    • 我只有几种类型,所以从来都不是问题。另外,我真的很喜欢将它们放在 Futon 视图下拉列表中。但是你说得对,当然应该考虑不同类型的数量。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2014-01-14
      • 1970-01-01
      • 2011-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-20
      相关资源
      最近更新 更多