javascript - 节点红色多个值到 influxDB
问题描述
我尝试使用 Node Red 构建一个查询,使用以下代码将多个值从循环发送到 influxDB:
var inputArray = msg.payload;
var lenInputArray =inputArray.length;
var modbusStartRegister = 14000;
var sendString = "";
var msg93 ={};
for (i = 0; i < lenInputArray; i++) {
var actRegister = modbusStartRegister +i;
var actValue = inputArray[i];
if ( i >=1){
sendString = sendString + " ,"
}
sendString = sendString +"{register: " + actRegister +"," +"value: " + actValue +"}";
if ( i ==(lenInputArray-1)){
sendString = sendString + "]"
}
}
msg93.payload = sendString;
return msg93
但是 influxDB 中的插入是一行,它将它们视为一个完整的字符串。如何构建或转换数据库接受它们作为单独条目的字符串?谢谢您的帮助
解决方案
这是因为您正在构建一个字符串,节点是一个对象。
您可以像这样动态构建数组对象:
var inputArray = msg.payload;
var lenInputArray =inputArray.length;
var modbusStartRegister = 14000;
var payload = [];
var msg93 ={};
for (i = 0; i < lenInputArray; i++) {
var temp = {};
temp.register = modbusStartRegister +i;
temp.value = inputArray[i];
payload.push(temp);
}
msg93.payload = payload;
return msg93
推荐阅读
- javascript - Three.js - TypeError: THREE.XLoader 不是构造函数
- ios - Firebase 身份验证中的 MultiFactor 是什么意思
- xcode - Safari 14:chrome.permissions.request() 无法无缝运行,并且 tab.url 总是空白 - 扩展
- java - 为什么 Java 使用带有 Dagger 的 HashMap 会抛出 NullPointerException?
- vba - 文本到表格,在不是段落标记的分隔符处创建行(不是列)
- python - 如何运行下载的 django 项目?
- django - Django:在for循环中第一次匹配后查询给出零结果
- android - 使用 GeckoView Android 与 Web 内容进行本机消息传递
- python-3.x - 在 Azure Functions 应用程序中,我们如何执行如何运行此命令“sudo apt-get install libasound2 alsa-utils alsa-oss”
- javascript - 如何有条件地映射到具有某种 flex 样式的 JSX 输入字段?