node-red-contrib-rxdb 1.0.4

A Node-RED custom node package for integrating RxDB with MongoDB

npm install node-red-contrib-rxdb

node-red-contrib-rxdb

A custom Node-RED node set for building low-code, reactive database flows using RxDB backed by MongoDB.


Overview

This package includes Node-RED nodes that:

  • Dynamically manage RxDB collections and schemas at runtime
  • Support reading, writing, watching, and replicating changes
  • Use MongoDB as a durable, developer-friendly backend
  • Allow full flow-based control -- no static schemas required!

Included Nodes

Node Purpose
rxdb-read Query documents from one or more collections
rxdb-write Insert documents into a collection
rxdb-watch Stream real-time changes from a collection
rxdb-add-collections Dynamically add collections + enable replication

Prerequisites

To use this project with MongoDB:

1. Install MongoDB via Docker

If Docker is not already installed, follow instructions from https://docs.docker.com/get-docker/

Then pull and run a MongoDB container:

docker pull mongo
docker run --name mongodb -d -p 27017:27017 -v /var/lib/mongodb:/data/db --restart always mongo

2. Create an Admin User

Enter the Mongo shell:

docker exec -it mongodb mongosh

Then set up authentication:

use admin
db.createUser({
  user: "your_username",
  pwd: "your_password",
  roles: [{ role: "root", db: "admin" }]
})
exit

3. Restart with Auth Enabled

docker stop mongodb
docker rm mongodb
docker run --name mongodb -d -p 27017:27017 -v /var/lib/mongodb:/data/db --restart always mongo mongod --auth

Installation

From local directory:

cd ~/.node-red
npm install /path/to/node-red-contrib-rxdb

Then restart Node-RED:

node-red-restart

Node Usage

rxdb-read

Reads one or more collections:

{
  "rxdb": {
    "collections": ["tickets"],
    "limit": 10
  }
}

rxdb-write

Writes a document to a collection:

{
  "rxdb": { "collection": "tickets" },
  "payload": {
    "id": "t-001",
    "subject": "Test ticket"
  }
}

rxdb-watch

Watches a collection for live updates:

{
  "rxdb": { "collection": "tickets" }
}

Output:

{
  "payload": {
    "event": "INSERT",
    "doc": { ... }
  }
}

rxdb-add-collections

Dynamically register collections:

{
  "calendarEvents": {
    "schema": { ... },
    "replicate": true,
    "replicationUrl": "https://myhost/tickets/0"
  }
}

Features

  • MongoDB support via RxDB adapters
  • Dynamic schema injection at runtime
  • Replication support (RxDB replication-server plugin)
  • Smart instance caching (one shared RxDB connection)
  • No external DB config nodes -- flow-driven logic only


License

UNLICENSED
No warranties. No attribution required. No restrictions.

Node Info

Version: 1.0.4
Updated 2 days ago
License: Unlicense
Rating: not yet rated

Categories

Actions

Rate:

Downloads

198 in the last week

Nodes

  • rxdb-read
  • rxdb-write
  • rxdb-watch
  • rxdb-add-collections
  • rxdb-delete

Keywords

  • node-red
  • rxdb
  • foundationdb
  • database
  • custom-node

Maintainers