Использование значения контекста в узле коммутатора Node-RED - PullRequest
0 голосов
/ 19 июня 2019

Я использую узел Switch в Node-RED, чтобы определить, следует ли мне пакетной загрузкой буферизованного массива (который хранится в объекте контекста) .

Я хотел бысвойство будет flow.batchData.length, а условие будет >= 100.

. Если я выберу тип свойства flow. и установлю значение свойства batchData, то я не смогуполучить доступ к атрибуту length массива.

Я попытался использовать тип свойства выражения Javascript, но следующее значение не сработало: flow.get("batchData").length.

Как использовать длинуобъекта, хранящегося в контексте в узле коммутатора?


экспортируемый узел здесь:

[{"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 Ответ

1 голос
/ 19 июня 2019

Выражение JSONata, которое будет использоваться для подсчета количества элементов в массиве, хранящемся в переменной контекста flow, должно быть:

$count($flowContext("batchData"))

и диалоговое окно конфигурации вашегоузел коммутатора будет выглядеть так:

enter image description here

...