これは簡単に行うべきだと私は知っていますが、今日それを見て数時間を費やしたにもかかわらず、それをどうやって行うのかは分かりません。私が知る限り、オンラインで簡単な例やチュートリアルは表示されません。CouchDBからCSVビューを作成する
私はCouchDBデータベースに複数の「テーブル」があり、各「テーブル」はドキュメントの「スキーマ」フィールドに異なる値を持っています。同じスキーマを持つすべてのドキュメントには、同じフィールドセットが含まれています。私がしたいのは、CSV形式のさまざまな「テーブル」を表示できることだけです。各スキーマのフィールド名のリストを指定する必要はありません。
CSV出力はRスクリプトによって消費されるため、回避することができれば出力に追加のヘッダーは必要ありません。カンマ区切りのCSV形式の値を持つフィールド名のリストだけです。例えば
、 "TABLE1" 形式の2つのレコードは次のようになります。
{
"schema": "table1",
"field1": 17,
"field2": "abc",
...
"fieldN": "abc",
"timestamp": "2012-03-30T18:00:00Z"
}
と
{
"schema": "table1",
"field1": 193,
"field2": "xyz",
...
"fieldN": "ijk",
"timestamp": "2012-03-30T19:01:00Z"
}
私の見解は非常に単純です:
"all": "function(doc) {
if (doc.schema == "table1") {
emit(doc.timestamp, doc)
}
}"
私が好きな私のレコードをタイムスタンプ順に並べ替える。
おそらくリスト機能は次のようになります:
"csv": "function(head, req) {
var row;
...
// Something here to iterate through the list of fieldnames and print them
// comma separated
for (row in getRow) {
// Something here to iterate through each row and print the field values
// comma separated
}
}"
が、私はちょうどそれの残りのまわりで私の頭を取得することはできません。
私はCSV出力が
"timestamp", "field1", "field2", ..., "fieldN"
"2012-03-30T18:00:00Z", 17, "abc", ..., "abc"
"2012-03-30T19:01:00Z", 193, "xyz", ..., "ijk"
のように見て取得したい場合はどのような私のCouchDBのリスト機能は次のようになりますか?
ここでは、事前