如何获取 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=falsegroup=true 应该足够了。

【讨论】:

以上是关于如何获取 couchdb 中键的值的主要内容,如果未能解决你的问题,请参考以下文章

如何更新嵌套字典中键的值?

如何替换 Python 中键的值?

Python获取列表中键的键值

如何更改哈希映射中键的值? [复制]

如何在Python中更改嵌套字典中键的值[关闭]

如何展平Python字典中键的值(元组列表列表)?