1

値を出力する前に、文字列の単位 (「秒」または「秒」) を省略して数値に変換する coucdhdb ビューを作成しています。データの保存方法を制御することはできません。

私の見解は次のようになります。

"map" : "function(doc)
  {
    if (doc['Elapsed Time']){
      var x = +doc['Elapsed Time'].replace(/ sec.*/, "");
      emit([doc.User, doc.Date], x);
    }

一時ビューでは正しく動作しますが、curl を使用して PUT しようとすると次のエラーが発生します: {"error":"bad_request","re​​ason":"invalid UTF-8 JSON"}

ビューを Futon の永続ビューに直接保存しようとすると、JSON.parse: expected ',' or '}' after property value in object, but all {} match, and I've dinked withほとんどどこにでも「、」を入れますが、何も機能しません。

一時ビューでテストするときに使用しない、永続ビューで避ける必要がある特殊文字、またはその他のものはありますか?

4

1 に答える 1

1

そのための正規表現を書く代わりに、parseInt()あなたが望むことを正確に実行する関数を使用してください。

あなたはこのようにそれをするでしょう。

"map": "function(doc) {
    if (doc['Elapsed Time']) {
      emit([doc.User, doc.Date], parseInt(doc['Elapsed Time'], 10));
    }
}"

parseInt(doc['Elapsed Time'], 10)注:ここで、10は常に定義する必要のある基数であると書きました。

于 2012-08-29T19:41:25.580 に答える