【发布时间】:2014-04-01 09:00:39
【问题描述】:
试图让这个问题尽可能简单......我目前正在考虑使用两个(Couch)数据库视图。
第一个的签名有点像这样;
{[username, group], value}
我可以使用哪些查询 - startkey=[username]&endkey[username,{}]
...
两个视图中的第二个看起来像;
{[group, username], value}
我可以用类似的方式查询 - startkey=[group]&endkey[group,{}]
Afaik,我无法使用 - startkey=[{},propertyName]&endkey[{},propertyName] 查询视图 - 这就是为什么我觉得我需要两个视图。但问题是,使用看起来非常相似的键创建两个视图感觉非常麻烦。当然,最大的优势是两个视图中的一个可以让我简单、直观地搜索用户名,而另一个可以为组提供相同的功能。
不过,这两个组都允许我使用 reduce 函数来识别每个组中的唯一用户名。
TLDR?
我是否可以只使用一个视图来唯一标识每个组中的用户数量,或者使用键“组”或“用户名”属性来查询它?
【问题讨论】:
标签: optimization database-design mapreduce nosql couchdb