在Node-RED交换节点中使用上下文值

时间:2019-06-19 16:00:09

标签: javascript node-red jsonata

我正在使用Node-RED中的Switch节点来确定是否应批量上传缓冲数组(存储在上下文对象中)

我希望属性为flow.batchData.length,条件为>= 100

如果我选择属性类型为flow.,并将属性值设置为batchData,那么我将无法访问数组的length属性。

我尝试使用Javascript表达式属性类型,但以下值不起作用:flow.get("batchData").length

如何使用在Switch节点中上下文中存储的对象的长度?


此处导出的节点:

[{"id":"de5265d5.0f7408","type":"switch","z":"157e7444.ffccac","name":"Should upload?","property":"flow.get(\"batchData\").length","propertyType":"jsonata","rules":[{"t":"gte","v":"100","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":820,"y":620,"wires":[["410db161.d497b"]]}]

1 个答案:

答案 0 :(得分:1)

用于对存储在flow上下文变量中的数组中的元素数量进行计数的JSONata表达式应为:

$count($flowContext("batchData"))

,切换节点的配置对话框如下所示:

enter image description here