While not as clean as registering event listeners directly via the driver, I covered a technique you may be able to use as a work around in my latest blog post: https://jsao.io/2015/02/real-time-data-with-node-js-socket-io-and-oracle-database/
The short of it is you could use UTL_HTTP to make callouts to your Node.js server(s) making them aware of any events.
I like the idea of registering events via the driver. Could you tell us more about what you have in mind? What type of events, just DB (SERVERERROR, LOGON, LOGOFF, STARTUP, SHUTDOWN) or DDL and DML? Or maybe integration with AQ?
integration with aq
like in the oci-example for registering with aq subscription
I do it with several queues and dbms_aq.dequeue, so I need one connection per queue
another possibilty is using dbms_aq.listen and then selection of the right queue
dbms_aq and node are good companions, the problem with aq is that every queue needs an oracle-process for listening
on the queue and is vulnerable to library cache locks due to always running procedures and dependencies
so I use an anonymous block in node to dequeue on several queues,( one connection for every queue )
the classical setup for node in combination with oracle (send out ) :
- triggers or procedures write in queue
- queue is dequeued in node and data sent out via restcall or websockets
(perhaps array dequeue and big messages )
the way into oracle with node rest-server:
- node writes in queue
- queue is dequeued in oracle and data processed (async )
perhaps queue-propagation from web database to transaction db for processing
queues everywhere, synchronous web-services stink, you need buffering of queues
I'd love to see CQN  and AQ  exposed natively in node-oracledb. We've talked about them - they are definitely useful for application development. Thanks for the use cases and votes for the features.