freefoote / node-red-flows-mongo

2 stars 4 forks source link

The behavior of the system is strange #3

Open masalinas opened 7 years ago

masalinas commented 7 years ago

I have this server.js code to start node-red over nodejs 0.12:

var http = require('http');
var express = require("express");
var RED = require("node-red");

// Create an Express app
var app = express();

// Add a simple route for static content served from 'public'
app.use("/",express.static("public"));

// Create a server
var server = http.createServer(app);

// Create the settings object - see default settings.js file for other options
var settings = {
    httpAdminRoot:"/red",
    httpNodeRoot: "/api",
    storageModule: require("node-red-flows-mongo"),
    mongoUrl: 'mongodb://localhost/nodesensor',    
    functionGlobalContext: { 
        // enables global context
    }    
};

// Initialise the runtime with a server and settings
RED.init(server,settings);

// Serve the editor UI from /red
app.use(settings.httpAdminRoot,RED.httpAdmin);

// Serve the http nodes UI from /api
app.use(settings.httpNodeRoot,RED.httpNode);

server.listen(8000);

// Start the runtime
RED.start();

And start the server like this:

node server.js

The first time I obbtain this errors:

Error 01:

Welcome to Node-RED
===================

15 Jul 16:19:08 - [info] Node-RED version: v0.14.4
15 Jul 16:19:08 - [info] Node.js  version: v0.12.2
15 Jul 16:19:08 - [info] Linux 3.13.0-32-generic x64 LE
15 Jul 16:19:08 - [info] Loading palette nodes
15 Jul 16:19:09 - [warn] ------------------------------------------------------
15 Jul 16:19:09 - [warn] [rpi-gpio] Info : Ignoring Raspberry Pi specific node
15 Jul 16:19:09 - [warn] ------------------------------------------------------
15 Jul 16:19:09 - [warn] Error loading flows: TypeError: undefined is not a function
TypeError: undefined is not a function
    at Object.module.exports.parseConfig (/home/miguel/Sources/myNodeRed/node_modules/node-red/red/runtime/nodes/flows/util.js:52:16)
    at setConfig (/home/miguel/Sources/myNodeRed/node_modules/node-red/red/runtime/nodes/flows/index.js:89:34)
    at /home/miguel/Sources/myNodeRed/node_modules/node-red/red/runtime/nodes/flows/index.js:72:20
    at tryCatchReject (/home/miguel/Sources/myNodeRed/node_modules/node-red-flows-mongo/node_modules/when/lib/makePromise.js:845:30)
    at runContinuation1 (/home/miguel/Sources/myNodeRed/node_modules/node-red-flows-mongo/node_modules/when/lib/makePromise.js:804:4)
    at Fulfilled.when (/home/miguel/Sources/myNodeRed/node_modules/node-red-flows-mongo/node_modules/when/lib/makePromise.js:592:4)
    at Pending.run (/home/miguel/Sources/myNodeRed/node_modules/node-red-flows-mongo/node_modules/when/lib/makePromise.js:483:13)
    at Scheduler._drain (/home/miguel/Sources/myNodeRed/node_modules/node-red-flows-mongo/node_modules/when/lib/Scheduler.js:62:19)
    at Scheduler.drain (/home/miguel/Sources/myNodeRed/node_modules/node-red-flows-mongo/node_modules/when/lib/Scheduler.js:27:9)
    at process._tickCallback (node.js:355:11)
Potentially unhandled rejection [2] TypeError: Cannot read property 'missingTypes' of null
    at start (/home/miguel/Sources/myNodeRed/node_modules/node-red/red/runtime/nodes/flows/index.js:209:25)
    at tryCatchReject (/home/miguel/Sources/myNodeRed/node_modules/node-red-flows-mongo/node_modules/when/lib/makePromise.js:845:30)
    at runContinuation1 (/home/miguel/Sources/myNodeRed/node_modules/node-red-flows-mongo/node_modules/when/lib/makePromise.js:804:4)
    at Fulfilled.when (/home/miguel/Sources/myNodeRed/node_modules/node-red-flows-mongo/node_modules/when/lib/makePromise.js:592:4)
    at Pending.run (/home/miguel/Sources/myNodeRed/node_modules/node-red-flows-mongo/node_modules/when/lib/makePromise.js:483:13)
    at Scheduler._drain (/home/miguel/Sources/myNodeRed/node_modules/node-red-flows-mongo/node_modules/when/lib/Scheduler.js:62:19)
    at Scheduler.drain (/home/miguel/Sources/myNodeRed/node_modules/node-red-flows-mongo/node_modules/when/lib/Scheduler.js:27:9)
    at process._tickCallback (node.js:355:11)

The system create a collection called storages inside my mongodb databse called nodesensor with one document inside. What represent this document??

If I add a flow an deploy it the system log this error and create a second document inside my previoud storages collection, What represent this second document??. Any deploy or new flow created not create any document, this process update the second document previously explained. The error obtain always when create or update any flow and deploy it is:

Error 02

Potentially unhandled rejection [3] TypeError: Cannot read property 'forEach' of undefined
    at /home/miguel/Sources/myNodeRed/node_modules/node-red/red/runtime/storage/index.js:157:16
    at init (/home/miguel/Sources/myNodeRed/node_modules/node-red/node_modules/when/lib/makePromise.js:39:5)
    at new Promise (/home/miguel/Sources/myNodeRed/node_modules/node-red/node_modules/when/lib/makePromise.js:27:53)
    at Function.promise (/home/miguel/Sources/myNodeRed/node_modules/node-red/node_modules/when/when.js:97:10)
    at /home/miguel/Sources/myNodeRed/node_modules/node-red/red/runtime/storage/index.js:155:21
    at tryCatchReject (/home/miguel/Sources/myNodeRed/node_modules/node-red-flows-mongo/node_modules/when/lib/makePromise.js:845:30)
    at runContinuation1 (/home/miguel/Sources/myNodeRed/node_modules/node-red-flows-mongo/node_modules/when/lib/makePromise.js:804:4)
    at Fulfilled.when (/home/miguel/Sources/myNodeRed/node_modules/node-red-flows-mongo/node_modules/when/lib/makePromise.js:592:4)
    at Pending.run (/home/miguel/Sources/myNodeRed/node_modules/node-red-flows-mongo/node_modules/when/lib/makePromise.js:483:13)
    at Scheduler._drain (/home/miguel/Sources/myNodeRed/node_modules/node-red-flows-mongo/node_modules/when/lib/Scheduler.js:62:19)
    at Scheduler.drain (/home/miguel/Sources/myNodeRed/node_modules/node-red-flows-mongo/node_modules/when/lib/Scheduler.js:27:9)
    at process._tickCallback (node.js:355:11)
15 Jul 16:20:43 - [info] Stopping flows
15 Jul 16:20:43 - [info] Stopped flows
15 Jul 16:20:43 - [info] Starting flows
15 Jul 16:20:43 - [info] Started flows

but the flow is saved correctly.

If a restart the server again, I don't receive any error like Error 01, but if I add any flow or modify any one I obtain an error like Error 02 again. The behavior of the system is strange eventhough record properly workflows.

Any configuration is wrong or is it a bug of your package??

Regards.