# Can this be done in an \`inject\` node?

**URL:** <https://discourse.nodered.org/t/can-this-be-done-in-an-inject-node/88461>\
**Category:** General\
**Created:** [3 June 2024 10:20 UTC](https://discourse.nodered.org/t/can-this-be-done-in-an-inject-node/88461 "2024-06-03T10:20:00Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Trying\_to\_learn](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/trying_to_learn/32/28400_2.png) [@Trying\_to\_learn](https://discourse.nodered.org/u/Trying_to_learn)\
**Post date:** [3 June 2024 10:20 UTC](https://discourse.nodered.org/t/can-this-be-done-in-an-inject-node/88461/1 "2024-06-03T10:20:00Z")

</div>

Slightly complicated story.

Originally I have an `inject` node that injects into a `function` node that does a bit of stuff.

`function` node:

```auto
let channels = {
    "nine": { "number": 100 },
    "foxone": { "number": 101 },
    "abc": { "number": 102 },
    "sbs": { "number": 104 },
    "uktv": { "number": 105 },
    "seven": { "number": 107 },
    "foxeight": { "number": 108 },
    "ten": { "number": 110 },
    "showcase": { "number": 112 },
    "foxcrime":{"number":113},
    "sifi": { "number": 116 },
    "foxclassic": { "number": 117 },
    "foxsleuth": { "number": 118 },
    "bbcfirst": { "number": 119 },
    "universal": { "number": 120 },
    "history": { "number": 130 },
    "discovery": { "number": 133 },
    "natgeo": { "number": 139 },
    "boxsets": { "number": 150 },
    "abcfamily": { "number":152},
    "abckids": { "number": 152 },
    "abccomedy": { "number": 153 },
    "seventwo": { "number": 156 },
    "sevenmate": { "number": 157 },
    "sevenflix": { "number": 158 },
    "ninego": { "number": 162 },
    "ninegem": { "number": 164 },
    "go:": { "number": 162 },
    "gem": { "number": 164 },
    "bold": { "number": 166 },
    "peach": { "number": 167 },
    "foxone+2": { "number": 201 },
    "abcHD": { "number": 202 },
    "sbsHD": { "number": 204 },
    "sevenHD": { "number": 207},
    "foxeight+2": { "number": 208 },
    "nineDH": { "number": 209},
    "showcase+2": { "number": 212 },
    "sifi+2": { "number": 216 },
    "foxclassic+2": { "number": 217 },
    "discovery+2": { "number": 233 },
    "natgeo+2": { "number": 239 },
    "sevenmateHD": { "number": 257 },
    "ninegenHD": { "number": 264 },
    "sbsviceland": { "number": 270 },
    "sbsvicelandHD": { "number": 270 },
    "movie-premier": { "number": 401 },
    "aussie-leading-ladies": { "number":402 },
    "movie-family": { "number": 403 },
    "movie-kids": { "number": 404 },
    "movie-action": { "number": 405 },
    "movie-comedy": { "number": 406 },
    "movie-thriller": { "number": 407 },
    "movie-romance": { "number": 408 },
    "movie-drama": { "number": 409 },
    "movie-greats": { "number": 410 },
    "movie-premiere": { "number": 421 },
    "worldmoviesHD": { "nimber": 432 },
    "70shits": { "number": 831 },
    "80shits": { "number": 832 },
    "90shits": { "number": 833 },
    "RetroParty": { "number": 840 },
    "classichits": { "number": 841 },
    "lovesongs": { "number": 842 },
    "softhits": { "number": 843 },
    "relax": { "number": 844 },
    "chill": { "number": 845 }
}

msg.payload = channels;

var path = global.get("event_paths");
msg.filename = path + "channel_names.db";

return msg;

```

So I get `msg.filename` which is built of two parts.

I worked out how to do the first (big) part in the `inject` node, but building the `msg.filename` is stumping me.

# WHY?

Well, if I edit the node, I have to then remember after `deploying` the flow to press the `inject` node.

If I can out the bit which is edited in the `inject` node, I have it to inject once after deploy.

Thought:  
I could put the basic output from the `inject` node through a `function` node that does the last part.

But.... If it can be done in one node, all the better - and I may learn something from it.  
🙂

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [3 June 2024 10:22 UTC](https://discourse.nodered.org/t/can-this-be-done-in-an-inject-node/88461/2 "2024-06-03T10:22:42Z")

</div>

So your question is: can I do `msg.filename = global.get("event_paths") + "channel_names.db"` in a change node?

If yes, then yes, using JSONata.

---

<div class="post-metadata">

**Author:** ![Trying\_to\_learn](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/trying_to_learn/32/28400_2.png) [@Trying\_to\_learn](https://discourse.nodered.org/u/Trying_to_learn)\
**Post date:** [3 June 2024 10:25 UTC](https://discourse.nodered.org/t/can-this-be-done-in-an-inject-node/88461/3 "2024-06-03T10:25:04Z")

</div>

Ok, but not how I think it is done.

I tried:

```auto
J:
$globalContext("event_paths") + "channel_names.db"

```

It doesn't like it.

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [3 June 2024 10:26 UTC](https://discourse.nodered.org/t/can-this-be-done-in-an-inject-node/88461/4 "2024-06-03T10:26:01Z")

</div>

JSONata uses `&` for string concatenation

REF: [Other Operators · JSONata](https://docs.jsonata.org/other-operators#-concatenation)

---

<div class="post-metadata">

**Author:** ![Trying\_to\_learn](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/trying_to_learn/32/28400_2.png) [@Trying\_to\_learn](https://discourse.nodered.org/u/Trying_to_learn)\
**Post date:** [3 June 2024 10:27 UTC](https://discourse.nodered.org/t/can-this-be-done-in-an-inject-node/88461/5 "2024-06-03T10:27:22Z")

</div>

Thanks.

I never did learn all those qualifiers.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [17 June 2024 10:28 UTC](https://discourse.nodered.org/t/can-this-be-done-in-an-inject-node/88461/6 "2024-06-17T10:28:14Z")

</div>

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.
