2017-07-12 2 views
0

Ich habe Probleme auf dem Display Graphen in AngularJS. Ich habe mein Backend in nodeJS geschrieben, wo ich einen Aggregator als Puffer mit Daten habe, die von netdata empfangen werden, wo ich Daten einfüge, um sie in BD einzufügen. Aber in der Zwischenzeit mache ich das mit einem Cron.Timestamp postgres angularjs nodejs

Mit einer neuen Client-Anfrage brauche ich einen anderen Cron für die gleiche BD zu schreiben und den gleichen Aggregator zu verwenden, aber die Struktur ist anders, ich benutze keine netdata und ich mache alle Änderungen, aber das Problem ist der Zeitstempel eingefügt anders.

Zum Beispiel

Erste Cron: 2017.07.12 15: 31: 28 + 01 Zweite Cron: 2017.07.12 15: 16: 21,335547 + 01 (On-Insert i CURRENT_TIMESTAMP)

Und vielleicht kollidiert dies in AngularJS ... Jeder hat eine Idee, in das Format "2017-07-12 15: 31: 28 + 01" auf meinem bd einzufügen? Mein Timestamp-Feld ist ein Zeitstempel mit Zeitzone.

Wenn ich den zweiten cron Kommentar die anderen Diagramme zeigen ok

AgregateDatabase:

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

was ist BD? Wo genau ist dein Problem? das Datum anzeigen oder es in deine BD einfügen? erhalten Sie irgendwelche Fehler? In [this link] (https://stackoverflow.com/help/how-to-ask) nachlesen, wie man eine gute Frage stellt – Ero

+0

Ich füge die Daten in Ordnung ein, aber der Zeitstempel, der für den Typ "probing_" gespeichert wurde, ist differente wie ich schon sagte, und das kann der Grund sein, dass alle Graphen aufhören, ok zu zeigen ... ich weiß es nicht – ricardol

Antwort

0

versuchen, wie dies trunkieren current_timestamp:

INSERT INTO default_dataset (....) 
       VALUES ($1, DATE_TRUNC('second',CURRENT_TIMESTAMP) ..... 
Verwandte Themen