ohana-node-orm

1.2.5 • Public • Published

Ohana - SAP HANA ORM for Node.js

NOTE: Ohana is a work in progress and this README will update as progress is made

Version Total Downloads License

How to use it?

  • Install from npm
    npm install ohana-node-orm
  • Setup the connection
const {connection} = require('ohana-node-orm');

const connectionParams = {
    host: process.env.SAP_HDB_URL,
    port: process.env.SAP_HDB_PORT,
    user: process.env.SAP_HDB_UID,
    password: process.env.SAP_HDB_PASSWORD,
    dbname: process.env.SAP_HDB_DBNAME
}

connection.connect(connectionParams)
.then((success) => {
    console.log('Connected');
})
.catch((error) => {
    console.log('Error', error);
})
  • Create a Model
const {ohana} = require('ohana-node-orm');

const user = new ohana('users'); // new ohana('table_name');

module.exports = user;
  • Use model in your controller
const users = await user.find();

Supported operations

  • find(column_name, conditions)
  • findOne(column_name,conditions)
  • insert(data)
  • destroy(conditions)
  • batchInsert(data)
  • update(conditions, values)
  • updateOrCreate(conditions, values)
  • avg(column_name, conditions)
  • count(column_name, conditions)
  • destroy(conditions)
  • findOneOrCreate(conditions, values)
  • max(column_name, conditions)
  • min(column_name, conditions)
  • raw(statement)
  • sum(column_name, conditions)

Available methods

  • find(column_names,condition)
  - find with coulmn name and condition , with parameters as array & objects repectively
    const results = await users.find(["USER_ID","EMAIL_ID"],{"CITY":"Benagaluru","SUB-AREA":"MG ROAD"});

  -  find all the records with column name specified in an array
     const results = await users.find(["USER_ID","EMAIL_ID","CITY"]);               

  -  find records with condition passed in an object
     const results = await users.find({"CITY": "Bengaluru"})

  -  find all the records with no condition
     const results = await users.find()


  • findOne(column_name,conditions) - returns first & one matched record
  - findOne with column_name amd conditions  
    const results = await user.findOne(["USER_ID"],{
        ‘USER_ID’: 101,
        ‘STATUS’: 2
    }); 

  - findOne with conditions  
    const results = await user.findOne({
        ‘USER_ID’: 101,
        ‘STATUS’: 2
    }); 

  - findOne without passing any param
    const results = await user.findOne(); 


  • update(conditions, values)
    const results = await user.update({
        ‘USER_ID’: 101,
        ‘STATUS’: 2
    },
    {
        ‘mobile_no’: “xxxx-xxx-xxx”
    });
  • destroy(conditions)
    const results = await user.destroy({
        ‘USER_ID’: 101
    });
  • insert(data)
    const results = await user.insert({
        ‘USER_ID’: 101,
        'USER_NAME': "abc",
        'PASSWORD': "xxxxxxxx",
        ‘EMAIL’: 'abc@gmail.com',
        'ADDRESS': 'A-4,Block-6, Street-9,Hagen-astric'
    });
  • insertBatch(data)
    const results = await user.insertBatch([{
        ‘USER_ID’: 101,
        'USER_NAME': "abc",
        'PASSWORD': "xxxxxxxx",
        ‘EMAIL’: 'abc@gmail.com',
        'ADDRESS': 'A-4,Block-6, Street-9,Hagen-astric'
        },
        {       
        ‘USER_ID’: 102,
        'USER_NAME': "abc2",
        'PASSWORD': "xxxxxxxx",
        ‘EMAIL’: 'abc2@gmail.com',
        'ADDRESS': 'A-4,Block-7, Street-10,Hagen'
        }]);

Package Sidebar

Install

npm i ohana-node-orm

Weekly Downloads

35

Version

1.2.5

License

MIT

Unpacked Size

32.2 kB

Total Files

25

Last publish

Collaborators

  • planetshwe