2016-09-11 11 views
0

私はCouchdb 1.6.1を使用しています。私は内部にショーを持っていますtestデザイン。couch dbの関数エラーを評価しない

{ 
    "select": { 
     "map": "function(a){emit(null,a._id)}" 
    } 
} 

私はNanoを使用しています。データベースと対話するためのノードモジュールです。以下のjsファイルを実行すると、{ Error: Expression does not eval to a function. ([object Object])というエラーメッセージが返されます。

this.database.show('test', 'select', 35435156453, function (error, body) { 
    if(error) { 
     console.log(error); 
    } 
    else{ 
     console.log(body); 
    } 
}); 

以下のようなカッコで関数をラップしようとしました。それは動作しませんでした

{ 
    "select": { 
     "map": "(function(a){emit(null,a._id)})" 
    } 
} 

なぜこのエラーが表示されますか?

答えて

1

まず、show関数をまるでそれがビュー関数(まったく違う)のように使用しています。

実際にショー "関数"を使用したい場合は、this documentation.のShow関数を使用して、HTMLまたは必要な書式でデータを返すことをお勧めします。あなたは、通常、次のようにショーの機能を定義します。

{ 
    "select":"function(doc,req){return 'Return your stuff here.'}" 
} 

あなたは私たちを提供する機能は、ビューで使用されているマッピング機能です。詳細については、this linkを参照してください。そのような場合は、this.database.view()と入力してください。