我正在尝试创建一个视图来对数组中的特定属性进行分组。然而,下面的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"
}
]
}Map函数:
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]);
}
发布于 2016-01-26 09:10:20
看起来您在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日志的位置
https://stackoverflow.com/questions/35004308
复制相似问题