在Node中,使用Express和Cradle,我调用了一个无效的_list。其他电话转到_view并正常工作。 Cradle documentation不包含_list部分,但似乎this GitHub readme它应该像_view一样工作。
我的代码如下:
if(isList){
db.list(couch_url, function (err, res) {
if(err){
console.log("error couchdb list", err);
}else{
//console.log(res);
callback(JSON.stringify(res));
}
});
}
couch_url
变量只是常规的http请求,看起来像是:myCouch/_design/Model3D/_list/convert/All
,除了路径指示符(_design,_view,_list)已被移除以获取Cradle的Model3D/convert/All
(它看起来他们被放回了摇篮功能)。由couch_url
表示的完整路径将在其他CouchDB连接中起作用,就像我说的那样,Cradle视图函数可以正常工作。
我得到的错误对象是:
{ stack: [Getter/Setter],
arguments: [ 'ILLEGAL' ],
type: 'unexpected_token',
message: [Getter/Setter] }
答案 0 :(得分:0)
我试图重现这一点,但它似乎对我有用。只需仔细检查就可以“转换”您的列表功能并“全部”查看您的视图名称吗?
我看到的另一个警告是你的数据库名称中有一个大写字母字符。 CouchDB数据库必须全部小写。
答案 1 :(得分:0)
检查您正在使用的列表功能 - 很可能产生损坏的JSON。 在我的情况下,我得到了一个属性'undefined'的结果。应该删除任何未定义的内容,并且所有属性名称都应该用引号