CouchDB查看两个字段的不同/唯一值

时间:2015-04-14 06:39:48

标签: couchdb distinct

"myview": {
           "map": "function(doc) {if(doc.type == 'call') {emit([doc.from_user, doc.to_user], doc.type);} }",
           "reduce": "function (key, values) {return values;}"
       }

使用group = true的POST请求

{
"keys":[["123456"], ["123456"]]
}

如何在from_userto_user中找到基于值的唯一文档?

1 个答案:

答案 0 :(得分:1)

doc.from_userdoc.to_user的值作为单个键发出。

e.g。

emit(doc.from_user, doc.type);

emit(doc.to_user, doc.type);

视图结果的每一行都包含doc._id,您还可以使用查询参数include_docs=true在视图结果中获取文档。

最后,您使用查询参数?key="your_value"请求您的视图,您将获得具有该值的每一行作为键。


如果您想知道该值是来自doc.from_user还是doc.to_user,只需将该信息作为值的一部分发布为多键,如

emit([doc.from_user, 'from_user'], doc.type);

emit([doc.to_user, 'to_user'], doc.type);

然后你可以要求

?startkey=["your_value","from_user"]&endkey=["your_value","to_user"]