2017-07-31 3 views
2

J'ai poussé les enregistrements dans influxDB à partir du noeud-rouge, mais Javascript retarde le temps en millisecondes tandis que influxdb prend par défaut le temps en nanosecondes.influxdb mise à jour de l'heure sur les lignes

msg.payload.time = new Date().getTime(); 

J'ai résolu le problème en spécifiant la précision de l'influx avant l'insert

msg.precision = 'ms'; 
msg.payload.time = new Date().getTime(); 

Mais je l'ai déjà beaucoup d'enregistrements existants dans ma base de données où je dois multiplier le temps par 1000000 de sorte que la les dates ne sont pas bloquées dans les années 1970.

J'ai essayé de corriger mes données existantes en exécutant

UPDATE payloads SET time = (time * 1000000) 

mais je reçois l'erreur

ERR: error parsing query: found update, expected SELECT, DELETE, SHOW, 
CREATE, DROP, GRANT, REVOKE, ALTER, SET, KILL at line 1, char 1 

Alors ... whre est la commande UPDATE? Comment mettez-vous à jour l'heure dans influxdb sans une instruction UPDATE?

Répondre

1

Un collègue m'a informé qu'InfluxDB ne prend pas en charge les instructions UPDATE. L'inflation rationalise cette omission au point 3 de leurs "idées et compromis" here.

Si vous devez mettre à jour des données, utilisez SELECT INTO et reconstruisez les données à partir de la base comme décrit here.