Как выбрать данные Cloudant из Node-red msg.payload?

Мне нужно прочитать данные из облачной базы данных. Результирующий msg.payload имеет такие значения:

[{"_id":"0de4df1286119588b8529a01ce7ae88c","_rev":"2-6702cf5c73c76536d403caaae37f9f99","payload":{"direction":"out","count":"-1","timestamp":"2016-10-06T13:25:24.262Z"}},{"_id":"1cf44a5241cc413a21920b069942851c","_rev":"1-f0f2271864d39b5ca633fe284590ae99","payload":{"direction":"out","count":"-1","timestamp":"2016-10-06T14:38:11.920Z"}},{"_id":"970049cb8ec6e3853d50f65f520ad385","_rev":"1-f7642fc0eab3938388138e04ce1d2c26","payload":{"direction":"IN","count":"1","timestamp":"2016-10-06T13:25:16.286Z"}}]

Я хочу выбрать все _id из приведенной выше полезной нагрузки.

Я хочу напечатать только _id из полезной нагрузки, используя узел отладкиЯ пытался использовать msg.payload._id, но это не работает. Он показывает результат как просто "{}"


person sarathblack    schedule 14.10.2016    source источник


Ответы (1)


Проблема в том, что объект полезной нагрузки представляет собой объект массива (что имеет смысл для набора результатов, возвращаемого из запроса к базе данных).

Вам необходимо включить индекс массива в выходной фильтр узла отладки.

.payload[0]._id

Это даст _id из первой записи в массиве

person hardillb    schedule 14.10.2016