Couchdb 转义字符
Couch DB escape characters
我有一个 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 的格式化函数示例吗?
列表函数存储在设计文档中。设计文档是JSON文档,所以你需要确保它们符合JSON标准。由于 List 函数是 JSON 中的字符串值,您需要确保:
- 转义函数中的任何双引号,因此
"
变为 \"
。在可能的情况下,您应该使用单引号而不是双引号。
- 确保用
\n
替换任何换行符,或者只是删除换行符,因为 Javascript 无论如何都会忽略它们。
- 转义所有反斜杠,因此
\
变为 \
。
我有一个 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 的格式化函数示例吗?
列表函数存储在设计文档中。设计文档是JSON文档,所以你需要确保它们符合JSON标准。由于 List 函数是 JSON 中的字符串值,您需要确保:
- 转义函数中的任何双引号,因此
"
变为\"
。在可能的情况下,您应该使用单引号而不是双引号。 - 确保用
\n
替换任何换行符,或者只是删除换行符,因为 Javascript 无论如何都会忽略它们。 - 转义所有反斜杠,因此
\
变为\
。