后台proxy代理通过Node.js获取数据返回生成Echarts(Influx)

Node.js连接influxDB

下载

npm install --save influxdb-nodejs

为了方便,我先封装成Util类

InfluxClient.js

require('./util/CommonUtil');
const Influx = require('influxdb-nodejs');
const config = require('./config/config').influx;

InfluxClient = function() {};

InfluxClient.query = function(table, condition, set, callback) {    
    var dblink = 'http://' + config.user + ':' + config.password + '@' + config.host + ':' + config.port + '/' + database;
    console.log("# dblink:" + dblink);
    var client = new Influx(dblink);
    // client.query('video').where('publish = 1').set({limit: 10}).then(console.info).catch(console.error);
    client.query(table).where(condition).set(set)
        .then((data) => { var sql = client.query(table).where(condition).set(set).toString(); console.info('## sql: ' + sql); callback(data); }).catch(console.error); }; InfluxClient.queryCount = function(database, table, condition, count, callback) { var dblink = 'http://' + config.user + ':' + config.password + '@' + config.host + ':' + config.port + '/' + database; console.log("# dblink:" + dblink); var client = new Influx(dblink); var reader = client.query(table); reader = reader.where(condition); var countArr = count.split(","); for (var i = 0; i <= countArr.length - 1; i++) { reader = reader.addFunction('count', countArr[i], { alias: countArr[i], }); } reader.then((data) => { console.info('## sql: ' + reader.toString()); callback(data); }).catch(console.error); }; 

你可能感兴趣的:(node.js,influxdb)