# Function node not possible to store global array variable

**URL:** https://discourse.nodered.org/t/function-node-not-possible-to-store-global-array-variable/98791
**Category:** General
**Tags:** dashboard-2
**Created:** [22 August 2025 17:54 UTC](https://discourse.nodered.org/t/function-node-not-possible-to-store-global-array-variable/98791 "2025-08-22T17:54:22Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![Felix](https://avatars.discourse-cdn.com/v4/letter/f/aeb1de/32.png) [@Felix](https://discourse.nodered.org/u/Felix)
#### Post date: [22 August 2025 17:54 UTC](https://discourse.nodered.org/t/function-node-not-possible-to-store-global-array-variable/98791/1 "2025-08-22T17:54:22Z")

</div>

Hi all,

I have a function node with the Form node in front in DB2 and I would like to save it to global variable (global.set). But nothing happens … script is got from DB1, is there a possibility, that Form node put values different, but I don’t know why, because DB1 was uninstalled from my NR.

Here is the code :

```auto
var userdata = global.get("userdata") || [];
userdata.push=({
id:msg._client.socketId,
ns:msg.payload.name_surname,
login:msg.payload.user_login,
pass:msg.payload.user_pass,
rights:msg.payload.user_rights
});
global.set("userdata",userdata);
msg.payload=userdata;
return msg;

```

And flow looks :

 ![obrázok](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/6/4/64193f066bfe4761dcc52603044577dab22fe9e7.png)

And result is :

![obrázok](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/e/6/e65bd6f3831b82a8f8c68a38d039fc3950e1c5ad.png)

Thanks a lot for help.

---

<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: [22 August 2025 18:32 UTC](https://discourse.nodered.org/t/function-node-not-possible-to-store-global-array-variable/98791/2 "2025-08-22T18:32:51Z")

</div>

> [@Felix](#):
>
> `userdata.push=(`

You are destroying the push function by assigning a value to it.

Remove the `=`

---

<div class="post-metadata">

### Author: ![Felix](https://avatars.discourse-cdn.com/v4/letter/f/aeb1de/32.png) [@Felix](https://discourse.nodered.org/u/Felix)
#### Post date: [22 August 2025 18:37 UTC](https://discourse.nodered.org/t/function-node-not-possible-to-store-global-array-variable/98791/3 "2025-08-22T18:37:12Z")

</div>

@Steve-Mcl so there is an error after removing = :

 ![obrázok](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/b/8/b8945f7f7feb56f14b8ca1a1cb2d32a6b1b1990a.png)

---

<div class="post-metadata">

### Author: ![Buckskin](https://avatars.discourse-cdn.com/v4/letter/b/b9e5f3/32.png) [@Buckskin](https://discourse.nodered.org/u/Buckskin)
#### Post date: [22 August 2025 18:53 UTC](https://discourse.nodered.org/t/function-node-not-possible-to-store-global-array-variable/98791/4 "2025-08-22T18:53:49Z")

</div>

Put a debug node on the output of your ui-form node to check what you are getting out of it.

---

<div class="post-metadata">

### Author: ![Felix](https://avatars.discourse-cdn.com/v4/letter/f/aeb1de/32.png) [@Felix](https://discourse.nodered.org/u/Felix)
#### Post date: [22 August 2025 19:02 UTC](https://discourse.nodered.org/t/function-node-not-possible-to-store-global-array-variable/98791/5 "2025-08-22T19:02:12Z")

</div>

@Buckskin screen from directly connected debug :

 ![obrázok](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/5/8/58f854490d90e038772a7c1ca25de846db84ce22.png)

---

<div class="post-metadata">

### Author: ![Felix](https://avatars.discourse-cdn.com/v4/letter/f/aeb1de/32.png) [@Felix](https://discourse.nodered.org/u/Felix)
#### Post date: [22 August 2025 20:21 UTC](https://discourse.nodered.org/t/function-node-not-possible-to-store-global-array-variable/98791/6 "2025-08-22T20:21:38Z")

</div>

Problem solved :

```auto
var userdata = [];
var read_data = global.get("userdata");
if (read_data){
userdata = read_data;
}    
userdata.push({
id:String(msg._client.socketId),
ns:msg.payload.name_surname,
login:msg.payload.user_login,
pass:msg.payload.user_pass,
rights:msg.payload.user_rights
});
global.set("userdata",userdata);
msg.payload=userdata;
return msg;

```

Problem was identified after first wrong data entry into global.set. Next error rise up immediately after it. After deleting global variable, and change header Vars with if condition …. if is empty, create new, and if is not empty, add previous data and push new to this.

Thanks guys to correct direction and also to making me think about it.

Bobo

---

<div class="post-metadata">

### Author: ![Buckskin](https://avatars.discourse-cdn.com/v4/letter/b/b9e5f3/32.png) [@Buckskin](https://discourse.nodered.org/u/Buckskin)
#### Post date: [22 August 2025 20:32 UTC](https://discourse.nodered.org/t/function-node-not-possible-to-store-global-array-variable/98791/7 "2025-08-22T20:32:08Z")

</div>

If there is a chance of random data being in userdata then a better option would be;

```auto
let userdata = global.get('userdata')

if (!Array.isArray(userdata) ) userdata = []

```

The only time this would fail is if there was a naff Array in the global 'userdata'

---

<div class="post-metadata">

### Author: ![Felix](https://avatars.discourse-cdn.com/v4/letter/f/aeb1de/32.png) [@Felix](https://discourse.nodered.org/u/Felix)
#### Post date: [22 August 2025 20:39 UTC](https://discourse.nodered.org/t/function-node-not-possible-to-store-global-array-variable/98791/8 "2025-08-22T20:39:16Z")

</div>

Of course, thanks to this point. is Array is good solution.  
I have changed it …. and working good. Thanks.  
I think in global var will not “stay” any fail.

---

<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: [5 September 2025 20:39 UTC](https://discourse.nodered.org/t/function-node-not-possible-to-store-global-array-variable/98791/9 "2025-09-05T20:39:48Z")

</div>

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