loopback-connector-influxdb
Loopback InfluxDB Connector
Downsampling
To use downsampling create a bootfile containing (in loopback 3):
try const influxConnector = appdatasourcespointsconnector; const models = appmodels; influxConnectorretentionPolicies = {}; // Iterate through the models const minDuration = await influxConnector; const buildContinuousQuery = async { try let continuousQueryName = `_cq_`; let query = 'SELECT '; // Add all requested aggregations to the query const aggregateProps = async { try const aggregateFunction = await influxConnector; property = `""`; const splittedAggregateFunction = aggregateFunction; splittedAggregateFunction; const joinedAggregateFunction = splittedAggregateFunction; query = ` AS `; if j < Objectlength - 1 query += ', '; else query += ' '; return query; catch error console; return null; }; const aggregatePropsPromise = await Object; await PromiseallaggregatePropsPromise; query += `INTO "".""`; query += ` FROM "".""`; if Array query += ` GROUP BY `; continuousQueryName += `_to_`; else query += ` GROUP BY `; continuousQueryName += `_to_`; // console.log('continuousQueryName: ', continuousQueryName); return cqName: continuousQueryName query ; catch error console; return null; }; const promises = Object; await Promiseallpromises; catch error console;