CouchDB 视图 distinct/unique 来自两个字段的值

CouchDB view distinct/unique value from two fields

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

POST 组请求 = true

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

如何根据 from_userto_user 中存在的值获取唯一文档?

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

例如

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,只需将该信息作为值的一部分发出即可 build as multi key喜欢

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"]