我收到了这段代码
{
"_id": "_design/test",
"_rev": "10-651aa6314effdad0bca00fc4a3da38f6",
"views": {
"foo": {
"map": "(function(doc){ emit(doc._id, doc._rev)})"
},
"bar": {
"map": "(function(doc){if(doc.date && doc.title) {emit(doc.date, doc.title);})"
}
}
}
为什么会返回:
表达式不会对函数进行评估。 ((new String(“(function(doc){if(doc.date&& doc.title){emit(doc.date,doc.title);})”)))
答案 0 :(得分:1)
我知道这个问题已经过时了,答案实际上是在问题的评论中,但似乎应该有答案。
缺少该函数的最后一个大括号。缩进,如下所示:
function(doc) {
if (doc.date && doc.title) {
emit(doc.date, doc.title);
}
}
注意一行版本末尾的两个括号:
function(doc){if(doc.date && doc.title){emit(doc.date, doc.title);}}
我更喜欢缩进和使用空格,所以我不会错过这些东西。