如何使用Cradle获取CouchDB _list结果

时间:2011-07-30 13:58:40

标签: couchdb cradle

在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] }

2 个答案:

答案 0 :(得分:0)

我试图重现这一点,但它似乎对我有用。只需仔细检查就可以“转换”您的列表功能并“全部”查看您的视图名称吗?

我看到的另一个警告是你的数据库名称中有一个大写字母字符。 CouchDB数据库必须全部小写。

答案 1 :(得分:0)

检查您正在使用的列表功能 - 很可能产生损坏的JSON。 在我的情况下,我得到了一个属性'undefined'的结果。应该删除任何未定义的内容,并且所有属性名称都应该用引号