1

Nodeで、ExpressとCradleを使用して、機能しない_listへの呼び出しがあります。他の呼び出しは_viewに移動し、正常に機能します。クレードルのドキュメントには_listのセクションは含まれていませんが、この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_urlhttpリクエストであり、次のようになります。myCouch/_design/Model3D/_list/convert/Allただし、パス指定子(_design、_view、_list)は、Cradleを取得するModel3D/convert/Allために削除されています(Cradle関数に戻されているように見えます)。で表されるそのフルパスはcouch_url、他のCouchDB接続でも機能します。前述のように、クレードルビュー機能は正常に機能します。

私が得るエラーオブジェクトは次のとおりです。

{ stack: [Getter/Setter],
    arguments: [ 'ILLEGAL' ],
    type: 'unexpected_token',
    message: [Getter/Setter] }
4

2 に答える 2

0

これを再現しようとしましたが、うまくいったようです。リスト関数を「変換」し、ビュー名を「すべて」変更することを再確認するだけですか?

私が見ている他の唯一の注意点は、データベース名に大文字の大文字が含まれていることです。CouchDBデータベースはすべて小文字である必要があります。

于 2011-09-01T14:44:26.853 に答える
0

使用しているリスト関数を確認してください。壊れたJSONが生成される可能性が高くなります。私の場合、プロパティに対して「undefined」の結果が得られていました。未定義のものはすべて削除し、すべてのプロパティ名は引用符で囲む必要があります

于 2011-10-14T09:14:07.927 に答える