# Change node - can this be done?

**URL:** <https://discourse.nodered.org/t/change-node-can-this-be-done/85214>\
**Category:** General\
**Created:** [5 February 2024 10:59 UTC](https://discourse.nodered.org/t/change-node-can-this-be-done/85214 "2024-02-05T10:59:38Z")\
**Posts on this page:** 1\
**Showing post:** 5

<div class="post-metadata">

**Author:** ![E1cid](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/e1cid/32/77971_2.png) [@E1cid](https://discourse.nodered.org/u/E1cid)\
**Post date:** [5 February 2024 13:54 UTC](https://discourse.nodered.org/t/change-node-can-this-be-done/85214/5 "2024-02-05T13:54:45Z")

</div>

> [@jbudd](#):
>
> What can I say about `$$.payload`? It's just pain bonkers

This post will give an example why $$.payload should be used.

> [@Switch node jsonata predicate match](https://discourse.nodered.org/t/switch-node-jsonata-predicate-match/82290/3):
>
> You really should tell JSOnata which scope context to look in, as in [] you are in $ scope context local loop. But payload is not in that context it is in Base scope context $$ That is why i always add the context, people think I am crazy, but if you had you would of come up with $$.roominfo.dimmers[$.device\_ieee = $$.payload.event.device\_ieee].type which would have worked straight off Notice i let JSONata know where it should be looking, even if it is not required. Looking at expressio…

> [@jbudd](#):
>
> Compatibility, pah! what about consistency?

You are using a application based on Javascript, which has no consistency, what do you expect.

---

_[View the full topic](https://discourse.nodered.org/t/change-node-can-this-be-done/85214)._
