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_user
或 to_user
中存在的值获取唯一文档?
将 doc.from_user
和 doc.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"]
"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_user
或 to_user
中存在的值获取唯一文档?
将 doc.from_user
和 doc.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"]