2011-01-04 11 views
1

私は、Mac OS X 10.6のhttp://couch.io/getからダウンロードしたcouchdbを使用しており、Dateを適切に処理しません。例えば、次のビュー(地図のみ)日付オブジェクトの{}発するを与える:CouchDB javascript version:Date issue

function(doc) { 
    emit(new Date(), null); 
} 

同じことは、日付のバリエーションに当てはまる:Date("2000-10-10")Date("2000/10/10")、及びDate("10/10/2000")すべて{}を生成します。

これは私のLinuxマシンで期待している通り、Dateの仕事が私のJavaScript版と関係していると思います。それでも、コマンドラインからjsを実行すると、Dateの場合とまったく異なる動作をします。これがバージョンの問題であれば、どのバージョンのjavascript CouchDBが動作しているか、どのように変更することができますか、そしてどのバージョンを実行しているのでしょうか?

答えて

2

私の推測によれば、何らかの理由で日付のtoString()が呼び出されないので、{}がjavascriptオブジェクトの総称表現として取得されています。

ないあなたが期待していた結果の確認ができますが、これらのいずれかを使用することができます。

emit((new Date()).toString(), null); // Tue Jan 04 2011 13:24:48 GMT-0600 (CST) 

emit((new Date()).getTime(), null); // 1294169100617 
+0

はそれがまさに問題だ、ありがとう。私が(新しい日付( "2010/01/04"))。toString()(ハイフンの代わりにスラッシュで)を呼び出すと正しく動作します。 js couchのどのバージョンを使用するのか、そして最高/最新の/標準バージョンはどのように変更するのか知っていますか? –

+0

@Danny:申し訳ありませんが、バージョンは何か分かりません。彼らがどちらの通訳を使っているかはわかりません。バージョンを変更するのが簡単なのであれば、私は驚くだろう。私はCouchDBの経験は限られていますが、CouchDBXを短時間起動してこのソリューションが確実に機能するようにしました。 – user113716