如何获取 couchdb 中键的值
Posted
技术标签:
【中文标题】如何获取 couchdb 中键的值【英文标题】:How to get value of keys in couchdb 【发布时间】:2015-08-21 05:12:43 【问题描述】:我有一个存储近 50 万条推文的 couchdb。每条推文都有一个 screen_name。我在 couchdb 中使用 map reduce 函数来列出所有唯一的屏幕名称。但是我怎么知道这个数据库中有多少不同的网名呢?我的 javascript 代码:
map.js:
function(doc)
emit(doc.screen_name, 1);
reudce.js:
_stats
【问题讨论】:
你的观点如何?我通常只是通过 ?group=true 并获取行节点的长度。 rows: [..,...] 结果对象。结果.rows.length 【参考方案1】:您可以使用group 参数回答“多少”问题。你已经有一个_stats
reduce,你现在需要做的就是:-
http://localhost:5984/your_db/_design/your_ddoc/_view/your_view?group=false&reduce=true
这会给你一个类似的结果
"rows":[
"key":null,"value":"sum":13700,"count":40,"min":232,"max":674,"sumsqr":6157480
]
如果您查看返回结果中的值对象,您有一个“count”键,它保存了视图中所有屏幕名称的计数。这应该可以回答“有多少个屏幕名称?”
如果你这样做了
?group=true
到相同的查询 url 你应该得到类似的结果
"rows":[
"key":"some_key","value":"sum":696,"count":3,"min":232,"max":232,"sumsqr":161472
]
它为您提供_stats
的唯一键。这应该可以回答“有多少个唯一的屏幕名称?”
您可以将组级别用于复杂键。 Bur 对于您的用例,我认为 group=false
和 group=true
应该足够了。
【讨论】:
以上是关于如何获取 couchdb 中键的值的主要内容,如果未能解决你的问题,请参考以下文章