CouchDB 是否限制每个设计文档的查看次数?
Does CouchDB limit the number of views per design doc?
我想构建一个应用程序,为应用程序的每个用户创建一个新的 _view。我想知道规模。一百万用户(我们应该如此幸运)设计文档中的一长串视图是否仍然具有一定的性能?
更新: 我正在努力完成的事情
我的数据库中包含三种类型的文档:描述项目的文档、描述用户的文档和描述操作的文档。每个动作将属于一个且仅一个用户,一个且仅一个项目。我将拥有用户的视图(HTML 视图)、他们的个人资料页面和项目的视图。所以,我希望能够在一个请求中获取所有给定用户的操作(也许是一个 couchdb _view)。我还希望能够在一个请求中获取为一个项目采取的所有操作(可能是另一个 couchdb _view...)。
更新 2 :)
所以用户可能会更新他们的个人资料,调整用户文档,项目负责人可能会更新项目信息,更改数据库中的项目文档。操作是永久性的并且只发生一次,所以不会有冲突。
这只需要两个 CouchDB 视图:一个按用户索引操作,另一个按项目索引操作。假设您有一个如下所示的操作文档:
{
"type": "action",
"project": "someProjectID",
"user": "someUserID"
}
您可以使用以下映射函数编写视图:
function(doc) {
if (doc.type == "action") {
emit(doc.project, null);
}
}
使用 include_docs=true
和 key=someProjectId
查询视图将 return 给定项目的所有操作。
我想构建一个应用程序,为应用程序的每个用户创建一个新的 _view。我想知道规模。一百万用户(我们应该如此幸运)设计文档中的一长串视图是否仍然具有一定的性能?
更新: 我正在努力完成的事情
我的数据库中包含三种类型的文档:描述项目的文档、描述用户的文档和描述操作的文档。每个动作将属于一个且仅一个用户,一个且仅一个项目。我将拥有用户的视图(HTML 视图)、他们的个人资料页面和项目的视图。所以,我希望能够在一个请求中获取所有给定用户的操作(也许是一个 couchdb _view)。我还希望能够在一个请求中获取为一个项目采取的所有操作(可能是另一个 couchdb _view...)。
更新 2 :)
所以用户可能会更新他们的个人资料,调整用户文档,项目负责人可能会更新项目信息,更改数据库中的项目文档。操作是永久性的并且只发生一次,所以不会有冲突。
这只需要两个 CouchDB 视图:一个按用户索引操作,另一个按项目索引操作。假设您有一个如下所示的操作文档:
{
"type": "action",
"project": "someProjectID",
"user": "someUserID"
}
您可以使用以下映射函数编写视图:
function(doc) {
if (doc.type == "action") {
emit(doc.project, null);
}
}
使用 include_docs=true
和 key=someProjectId
查询视图将 return 给定项目的所有操作。