CouchDB是否限制每个设计文档的视图数量?

时间:2015-03-05 16:20:49

标签: couchdb scale

我想构建一个应用程序,为应用程序的每个用户创建一个新的_view。我想知道规模。一百万用户(我们应该如此幸运)在一个设计文档中有一长串观点仍然可以发挥作用吗?

更新: 我想要完成的事情

我有三种类型的文档可以放在我的数据库中:描述项目的文档,描述用户的文档以及描述操作的文档。每个操作都属于一个且仅一个用户,并且只属于一个项目。我将为用户,他们的个人资料页面和项目视图提供视图(HTML视图)。所以,我希望能够在一个请求中获取所有给定用户的操作(也许是couchdb _view)。我也希望能够在一个请求中获取项目所采取的所有操作(也许是另一个couchdb _view ...)。

更新2:)

因此用户可能会更新他们的个人资料,调整用户文档,项目负责人可能会更新项目信息,更改数据库中的项目文档。行动是永久性的,只发生一次,因此没有冲突。

1 个答案:

答案 0 :(得分:2)

这只需要两个CouchDB视图:一个用户索引操作,一个用项目索引操作。假设您有一个如下所示的操作文档:

{
  "type": "action",
  "project": "someProjectID",
  "user": "someUserID"
}

您可以使用以下地图功能编写视图:

function(doc) {
  if (doc.type == "action") {
    emit(doc.project, null);
  }
}

使用include_docs=truekey=someProjectId查询视图将返回给定项目的所有操作。