Home  >  Q&A  >  body text

Connecting Influxdb data in a Vue application using Node.js: a step-by-step guide

I have an InfluxDB that I want to connect to my vue application. I have established a connection to the database and can log data in the terminal (not the console) using the following code:

// index.js
import express from "express";

// These lines make "require" available
import { createRequire } from "module";
const require = createRequire(import.meta.url);

import store from '../store/index.js'
store.getters.config
//Initialize the Client-----------------------------------
const {InfluxDB, flux} = require('@influxdata/influxdb-client')
const url = 'http://193.174.28.232:5102';
const token = 'qE83Rq0yQPGek6teUu745OkrOKW7jmInL5QrMq48-VIaXOagxPP3B8fvATAZsi7avaOlOSuMI0lRAKY9h9hnxg=='
const org = 'TeamEE'
const bucket = 'fdre818'
const client = new InfluxDB({url: url, token: token})
const o = [] 
const speed = []

//Execute a Flux query---------

const queryApi = client.getQueryApi(org)
const query = flux`from(bucket: "fdre818") 
  |> range(start: 2022-04-20T10:00:00Z, stop: 2022-04-20T10:02:00Z)
  |> filter(fn: (r) => r._measurement == "86B20CC8")
  |> filter(fn: (r) => r._field == "Speed")
  |> aggregateWindow(every: 5s, fn: mean)
  |> map(fn: (r) => ({ r with _value: r._value * 3.6 }))
  |> limit(n: 10)`
queryApi.queryRows(query, {
    next(row, tableMeta) {
        const o = tableMeta.toObject(row)
        speed.push(o._value)
    
    },
    error(error) {
        console.error(error)
        console.log('Finished ERROR')
    },
    complete() {
        console.log('Finished SUCCESS')
        store.state.suppliedInflux.speed =  speed;
    },
})

export {client}

Now I want to get that data to my vue component but this doesn't work. I tried to import the influxdb.js file using the following command import * as Influxdb from '../database/infl

P粉536909186P粉536909186206 days ago336

reply all(1)I'll reply

  • P粉186904731

    P粉1869047312024-03-27 18:01:05

    The solution is:

    Just imported @influxdata/influxdb-client-browser instead of @influxdata/influxdb-client. See influxdb-client-js installation for details.

    reply
    0
  • Cancelreply