CouchDB的数据库和设计文档在数据类型方面的作用

时间:2017-08-02 08:34:05

标签: couchdb cloudant

假设我有一个名为“旅行者”的应用程序,我想存储人物和地点。这两个文件都具有截然不同的属性和不同的观点。

我看到了存储这些数据的两种逻辑方法:

  1. 在单独的CouchDB数据库中,每个数据库都有一个名为traveler单个设计文档,其中包含有关该特定数据类型的视图。例如:/people/_design/traveler/_view/by-name
  2. 在一个名为traveler的CouchDB数据库中,每个数据类型都有一个设计文档,并使用"type"属性(或其他类型的鸭子)来过滤视图。例如:/traveler/_design/people/_view/by-name
  3. 什么是惯用法?

1 个答案:

答案 0 :(得分:3)

两种都是完全有效的方法,具体取决于您的需求。

要考虑的主要问题是您是否想要在视图中组合这些文档。通过使用单独的数据库,您将排除这种可能性,因为视图不能跨越多个数据库。当然,您可以在应用程序层中执行任何类型的连接,因此如果您不想在数据库中执行此操作,那么您就没有任何区别。

总的来说,我发现它更容易坚持方法#2。