Firebase OUT - GogoVega/node-red-contrib-firebase-realtime-database GitHub Wiki

The Firebase OUT node connects to a Firebase Realtime Database and add/modify data to database for the defined path.

Below is the list and description of fields to configure for this node:

Database

Select or add a config-node. The config-node is your database on which this node will add/modify data for the defined path. Learn more about its role.

Method

Below is the list and description of query methods:

Set

Write or replace data to a defined path. This will overwrite any data at this location and all child locations. Passing null for the new value is equivalent to calling Remove, namely, all data at this location and all child locations will be deleted.

Push

Add data to a list in the database. Every time you push a new data onto a list, your database generates a unique key. The unique keys generated are ordered by the current time, so the resulting list of items is chronologically sorted. The keys are also designed to be unguessable (they contain 72 random bits of entropy).

Example:

You want to add the following data to the posts list:

{
  payload: {
    author: 'alanisawesome',
    title: 'The Turing Machine'
  },
  topic: 'posts'
}

Now your database contains:

{
  "posts": {
    "-JRHTHaKuITFIhnj02kE": {
      "author": "alanisawesome",
      "title": "The Turing Machine"
    }
  }
}

Update

As opposed to the Set method, Update can be use to selectively update only the referenced properties at the current location (instead of replacing all the child properties at the current location). A single Update will generate a single Value event at the location where the Update was performed, regardless of how many children were modified.

Note: payload must be an object!

Example:

Your database contains:

{
  "users": {
    "alanisawesome": {
      "date_of_birth": "June 23, 1912",
      "full_name": "Alan Turing",
      "nickname": "Alan The Machine"
    }
  }
}

To change the nickname of alanisawesome, you just need to set the following message:

{
  payload: {
    nickname: 'Alan is Genius'
  },
  topic: 'users/alanisawesome'
}

Remove

Removes the data at this database location. Any data at child locations will also be deleted.

Set Priority

Sets a priority for the data at this database location.

Set with Priority

Combination of Set and Set Priority methods.

Priority

The priority to apply to the data. Must be a positive Integer.

Path

The path to add/modify data. You can choose the string option to set the path statically or another option to set the path dynamically. By default, msg.topic.

Message Properties

Below are the properties of the incoming message:

  • payload: the data that will be sent to the database.
  • method: the query type to apply to the data.
  • priority: the priority to apply to the data. By default 1.
  • topic: the path of the data to add/modify. By default 'topic'.

Read more about message properties.

Next Step