Couchbase视图不返回数组值

时间:2016-01-25 23:17:34

标签: couchbase couchbase-view

我正在尝试创建一个视图,以对数组中的特定属性进行分组。但是,下面的map函数不会返回任何结果。

JSON文档结构:

{
   "jsontype": "survey_response",
   "jsoninstance": "xyz",
   "jsonlanguage": "en_us",
   "jsonuser": "test@test.com",
   "jsoncontact": "test@mayoclinic.com",
   "pages": [
       {
           q-placeholder": "q1-p1",
           q:localized": "q1-localized-p1",
           q-answer-placeholder": "jawaabu121",
           q-answer-localized": "localized jawaabu1"
       },
       {
           q-placeholder": "q2-p2",
           q:localized": "q2-localized-p2",
           q-answer-placeholder": "jawaabu221",
           q-answer-localized": "localized jawaabu2"
       },
       {
           "q-placeholder": "q3-p3",
           "q:localized": "q3-localized-p3",
           "q-answer-placeholder": "jawaabu313",
           "q-answer-localized": "localized jawaabu3"
       }
   ]
}

地图功能:

function(doc, meta){
emit(doc.jsoninstance,[doc.pages[0].q-placeholder, doc.pages[0].q-localized,doc.pages[0].q-answer-placeholder,q-answer-localized]);
}

1 个答案:

答案 0 :(得分:1)

看起来你在emit语句的末尾写了一个拼写错误: doc.pages[0].q-answer-placeholder,q-answer-localized

而应将q-answer-localized更改为doc.pages[0].q-answer-localized

此外,您似乎已在emit语句中将字段定义为q-localized,但实际上根据您发布的示例文档实际应该是q:localized,我认为这是文档片段中的错误而不是emit语句,但如果没有,则还需要修改。

我认为这样的错误会在视图引擎的map-reduce错误日志中被标记,以后你应该检查这个日志,这样你就可以自己调试这样的错误。

可以在Couchbase documentation

中找到mapreduce_errors日志的位置
相关问题