假设我有一个名为“旅行者”的应用程序,我想存储人物和地点。这两个文件都具有截然不同的属性和不同的观点。
我看到了存储这些数据的两种逻辑方法:
traveler
的单个设计文档,其中包含有关该特定数据类型的视图。例如:/people/_design/traveler/_view/by-name
。traveler
的CouchDB数据库中,每个数据类型都有一个设计文档,并使用"type"
属性(或其他类型的鸭子)来过滤视图。例如:/traveler/_design/people/_view/by-name
。什么是惯用法?
答案 0 :(得分:3)
两种都是完全有效的方法,具体取决于您的需求。
要考虑的主要问题是您是否想要在视图中组合这些文档。通过使用单独的数据库,您将排除这种可能性,因为视图不能跨越多个数据库。当然,您可以在应用程序层中执行任何类型的连接,因此如果您不想在数据库中执行此操作,那么您就没有任何区别。
总的来说,我发现它更容易坚持方法#2。