Skip to content
David Wicksell edited this page Apr 13, 2019 · 3 revisions

NodeM Developer API and User Guide

A YottaDB and GT.M database driver and language binding for Node.js

Version 0.14.2 - 2019 Feb 17

Summary

Nodem is an open source addon module that integrates Node.js with the YottaDB and GT.M implementations of MUMPS, providing in-process access to their database systems and some language features, as well as networked access to their core database APIs.

Installation

NOTE: In order to use Nodem, you need to have Node.js and NPM installed, as well as either YottaDB or GT.M. You also need to set the ydb_dist environment variable to the YottaDB installation directory, or the gtm_dist environment variable to the YottaDB or GT.M installation directory, before you install Nodem.

npm install nodem # Downloads and compiles nodem

or

git clone https://github.com/dlwicksell/nodem.git # Downloads nodem
cd nodem
npm install # Compiles nodem
cd -

Instantiating Nodem

const nodem = require('nodem');
const ydb = new nodem.Ydb(); // Only works with YottaDB
// or
const nodem = require('nodem');
const gtm = new nodem.Gtm(); // Works with both YottaDB and GT.M
// or
const ydb = require('nodem').Ydb(); // Only works with YottaDB
// or
const gtm = require('nodem').Gtm(); // Works with both YottaDB and GT.M

Interface

API Description
close Close the database connection
data Determine whether a global or local node has data and/or children
function Call an extrinsic function
get Retrieve the value of a global, local, or intrinsic special variable node
globalDirectory List the names of the globals in the database
help Display a help menu of method usage
increment Atomically increment the value stored in a global or local node
kill Delete a global or local node, and its children; or kill all local variables
localDirectory List the names of the variables in the local symbol table
lock Lock a global or global node, or local or local node, incrementally
merge Merge a global or local tree, or data node, to a global or local tree, or data node
nextNode Retrieve the next global or local node, regardless of subscript level
open Open the database connection
order or next Retrieve the next global or local node, at the current subscript level
previous Same as order, only in reverse
previousNode Same as nextNode, only in reverse in YottaDB r1.10 or newer, otherwise not yet implemented
procedure or routine Call a procedure/routine/subroutine
retrieve Not yet implemented
set Set a global, local, or intrinsic special variable node, to a new value
unlock Unlock a global or global node, or local or local node, incrementally; or release all locks
update Not yet implemented
version or about Display version information; if database connection open, display its version