2017-07-12 3 views
0

AngularJSの表示グラフに問題があります。私はバックエンドをnodeJSで書いています。ここでは、データをバッファに入れて、データを挿入してBDに挿入するデータを受け取っています。しかしその間に、私はcronでこれをやっています。タイムスタンプpostgres angularjs nodejs

新しいクライアント要求では、同じBDを書き込み、同じアグリゲータを使用するために別のcronが必要ですが、構造が異なる、私はnetdataを使用せず、すべての変更を行いますが、問題はタイムスタンプです異なる。例えば

まずクーロン:2017年7月12日15:31:28 + 01 第クーロン:2017年7月12日15:16:01 + 21.335547(インサートでiはCURRENT_TIMESTAMPを使用)

これはAngularJSで衝突している可能性があります...誰でも私のbdに "2017-07-12 15:31:28 + 01"という形式で挿入するアイデアはありますか?私のタイムスタンプフィールドは、タイムゾーンを持つタイムスタンプです。

AgregateDatabase.prototype.addRow = function (dbConnection, data) { 
    createLog('info', __dirname, __filename.slice(__dirname.length + 1, -3), data.device_id, 'addRow','inicio'); 
    createLog('debug', __dirname, __filename.slice(__dirname.length + 1, -3), data.device_id, 'addRow','type', data.type); 


    return new Promise(function (resolve, reject) { 
     pg.connect(dbConnection, function (err, client, done) { 
      if (err) { 
       createLog('error', __dirname, __filename.slice(__dirname.length + 1, -3), data.device_id, 'addRow', err); 
       reject(err); 
       return 
      } 

      if(data.type==='probing_live' || data.type==='probing_repeated' || data.type==='probing_passBy'){ 
        createLog('debug', __dirname, __filename.slice(__dirname.length + 1, -3), data.device_id, 'addRow','data', data); 

       client.query("INSERT INTO default_dataset (id, timestamp, agregation_period, medium, maximum, minimum, sum, type, device_id, network_id, organization_id, labels) \ 
       VALUES ($1, CURRENT_TIMESTAMP, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11)", 
        [data.id, data.agregation_period, data.medium, data.maximum, data.minimum, data.sum, data.type, data.device_id, data.network_id, data.organization_id, data.labels], 
        function (err, result) { 
         done(); 
         if (err) { 
          console.log("probing addRow errrrrrrro"); 
          createLog('error', __dirname, __filename.slice(__dirname.length + 1, -3), data.device_id, 'probing addRow error', err); 
          reject(err); 
         } else { 
          console.log("probing addRow row added ", JSON.stringify(result)); 
          createLog('info', __dirname, __filename.slice(__dirname.length + 1, -3), data.device_id, 'probing addRow row added'); 
          resolve(result.rows); 
         } 
        }); 
      } else { 
       client.query("INSERT INTO default_dataset (id, timestamp, agregation_period, medium, maximum, minimum, sum, type, device_id, network_id, organization_id, labels) \ 
        VALUES ($1, to_timestamp($2), $3, $4, $5, $6, $7, $8, $9, $10, $11, $12)", 
         [data.id, data.timestamp, data.agregation_period, data.medium, data.maximum, data.minimum, data.sum, data.type, data.device_id, data.network_id, data.organization_id, data.labels], 
         function (err, result) { 
          done(); 
          if (err) { 
           console.log("probing addRow errrrrrrro"); 
           createLog('error', __dirname, __filename.slice(__dirname.length + 1, -3), data.device_id, 'probing addRow error', err); 
           reject(err); 
          } else { 
           console.log("probing addRow row added ", JSON.stringify(result)); 
           createLog('info', __dirname, __filename.slice(__dirname.length + 1, -3), data.device_id, 'probing addRow row added'); 
           resolve(result.rows); 
          } 
         }); 
      } 
     }); 
    }); 
} 
+1

をBDは何ですか?あなたの問題はどこにありますか?日付を表示するか、それをBDに挿入しますか?何かエラーが出ていますか?良い質問をするには[このリンク](https://stackoverflow.com/help/how-to-ask)を参照してください。 – Ero

+0

私はデータを入れていますが、タイプ "probing_"のために保存されたタイムスタンプは異なっています私が前に言ったように、それはすべてのグラフがokを示すのを止める理由かもしれない...私は知らない – ricardol

答えて

0

はこのようCURRENT_TIMESTAMPを切り捨てるようにしてください:私は2番目のcronコメント場合

他のグラフはOK

AgregateDatabase表示

INSERT INTO default_dataset (....) 
       VALUES ($1, DATE_TRUNC('second',CURRENT_TIMESTAMP) ..... 
関連する問題