【发布时间】:2015-07-30 08:50:56
【问题描述】:
我有以以下格式存储的 couchbase 报告文档:
{
"agree_allowed":true,
"assigned_by":"",
"assigned_to":"",
"closed":[
],
"comments_allowed":true,
"details":"Test",
"email":"",
"status":"In Progress",
"subscribed":{
"user_cfd29b81f0263a380507":true,
"user_cfd29b81f0263a380508":true,
"user_cfd29b81f0263a380509":true,
"user_cfd29b81f0263a3805010":true
},
"summary":"Test",
"time_open":0,
"timestamp":"2015-07-17T15:34:30.864Z",
"type":"report",
"user_id":"user_cfd29b81f0263a380507",
"username":"test17"
}
json 包含订阅的字段,它是关注报告的 user_id 列表。 问题是如果订阅字段包含 user_id,我必须发出报告文档,如果我通过 user_id ='user_cfd29b81f0263a380507' 作为关键参数传递。我想知道如何使用 user_id 在视图中进行比较
这是我写的代码:-
function map(doc, meta) {
if (doc.type == 'report' && doc.subscribed) {
for (var user_id in doc.subscribed) {
emit(doc.user_id, doc);
}
}
}
但它没有返回预期的结果。 谁能帮忙。
【问题讨论】:
-
你能用你得到的输出更新问题吗?
-
不太确定您要达到的目标。也许你可以举个例子?另外 - 不要将整个文档作为值发出。要么发出它的名字(然后得到它),要么使用“附加文档”选项将文档附加到结果中。通过发出文档,您正在浪费存储空间。
-
我想报告订阅该报告的所有数据。所以我只是像这样改变发射(订阅者,文档)。这样可以吗?