我有一个CouchDB的列表函数,但我不能把它放到数据库中因为我经常得到语法错误。这是功能:
function(head,req) {
var headers;
start({'headers':{'Content-Type' : 'text/csv; charset=utf-8; header=present'}});
while(r = getRow()) {
if(!headers) {
headers = Object.keys(r.value);
send('"' + headers.join('","') + '"\n');
}
headers.forEach(function(v,i) {
send(String(r.value[v]).replace(/\"/g,'""').replace(/^|$/g,'"'));
(i + 1 < headers.length) ? send(',') : send('\n');
});
}
}
有人能告诉我这个格式化的例子,可插入CouchDB吗?
答案 0 :(得分:1)
列表功能存储在设计文档中。设计文档是JSON文档,因此您需要确保它们符合JSON标准。由于List函数是JSON中的字符串值,因此您需要确保:
"
变为\"
。在可能的情况下,您应该使用单引号而不是双引号。 \n
替换所有换行符,或者只是删除换行符,因为Javascript无论如何都会忽略它们。\
变为\\
。