鉴于CouchDB中保存的对象集合如下所示:
{
"_id": "-5739365454",
"_rev": "1-d55b2651b214113bab0b4c18a401eaef",
"userId": "mike",
"remoteAddr": "77.102.112.205"
}
{
"_id": "-573936626",
"_rev": "1-778bbf1c0e5cfe8bbd83dbe618e8b549",
"userId": "mike",
"remoteAddr": "77.102.112.205"
}
...
{
"_id": "-573954545",
"_rev": "1-4350856f40c091156f8bb984a5559ebd",
"userId": "jeff",
"remoteAddr": "77.102.112.205"
}
我希望创建一个输出视图,它给我一组看起来类似于以下内容的结果(伪输出 - 在语法上无效):
userId count
mike 2
jeff 1
...
因此,数据库中每个不同的userId的输出中将存在一个'row'/元素,以及userId在DB中存在的次数。
到目前为止,我有以下内容:
{
"_id": "_design/myObj",
"_rev": "4-cd468634f4fb6bef500753fedcb35e27",
"views": {
"by_userId": {
"map": "function(doc) { if (doc.userId) { emit (doc.userId, doc._id)} }",
"reduce": "_stats"
}
},
"language": "javascript"
}
...但这不符合要求。感激地收到任何帮助!
答案 0 :(得分:0)
您可以尝试使用_count内置函数。例如:
`
{
"_id": "_design/myObj",
"_rev": "4-cd468634f4fb6bef500753fedcb35e27",
"views": {
"by_userId": {
"map": "function(doc) { if (doc.userId) { emit (doc.userId, null)} }",
"reduce": "_count"
}
},
"language": "javascript"
}`