Node.js读写数据到influxDB。已经有一个库node-influx。这个库很强大,但是我个人在使用这个库的时候遇到了无法解决的问题。可以使用curl向influxDB写入数据,但是node-influx老是报错,弄了半天解决不了,干脆不用了。influxDB提供了HTTPAPI,也就是说Node.js中的axios或request等HTTP客户端工具可以直接与influx进行交互。需要注意的一点是写入influxDB的数据格式必须是二进制流。为此,需要做两件事:1.将字符串转换为二进制constdata=Buffer.from('mymeas,mytag=1myfield=90')2.将请求Content-Type设置为二进制'Content-Type':'application/octet-stream'完整代码constaxios=require('axios')constdata=Buffer.from('mylog,name=wdderror_count=2003,no_send=0')axios({url:'http://localhost:8923/write?db=poc&rp=poc',method:'post',headers:{'Content-Type':'application/octet-stream'},data:data}).then((res)=>{console.log('ok')//console.log(res)}).catch((err)=>{console.log('err')})使用axios或requst等底层库的优点是你使用curl完成的任何成功的操作都可以在不依赖其他库的情况下转换为axios或request请求。
